Java集合之List
List(列表): List的特征是其元素以线性方式存储,集合中可以存放重复对象。
List接口主要实现类包括:
1、ArrayList() : 代表长度可以改变的数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。
2、Vector非常类似ArrayList,但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的 Iterator是同一接口,但是,因为Vector是同步的,当一个 Iterator被创建而且正在被使用,另一个线程改变了Vector的状态(例如,添加或删除了一些元素),这时调用Iterator的方法时将抛出ConcurrentModificationException,因此必须捕获该异常。
code:继承ArrayList()
1 package com.test; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class Test { 7 public static void main(String[] args) { 8 List<String> lists = null; 9 lists = new ArrayList<String>();//实例化的是子类ArrayList 10 lists.add("a"); 11 lists.add("b"); 12 lists.add("a");//list可重复放置元素 13 for(int i=0;i<lists.size();i++){ 14 System.out.println(lists.get(i));//get方法获取第几个元素 15 } 16 17 lists.remove(0);//删除第0个 18 System.out.println("删除之后"); 19 for(int i=0;i<lists.size();i++){ 20 System.out.println(lists.get(i)); 21 } 22 23 System.out.println("判断集合是否为空"+lists.isEmpty());//判断集合是否为空的方法 24 System.out.println("b是否存在:"+lists.indexOf("b"));//判断b是否存在,indexof存在返回位置,不存在返回-1 25 26 } 27 }
code1:vector子类
1 package com.test; 2 3 import java.util.List; 4 import java.util.Vector; 5 6 public class Test2 { 7 8 public static void main(String[] args) { 9 List<String> lists = null; 10 lists = new Vector<String>(); 11 lists.add("A"); 12 lists.add("B"); 13 for(int i=0;i<lists.size();i++){ 14 System.out.println(lists.get(i)); 15 } 16 } 17 }