我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?
接下来,我们一起学习Collection中的常用几个子类(List集合、Set集合)。
1.1 List接口介绍
查阅API,看List的介绍。有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。
看完API,我们总结一下:
List接口:
l 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。
l 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
l 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
List接口的常用子类有:
l ArrayList集合
l LinkedList集合
1.2 List接口中常用的方法
l 增加元素方法
l add(Object e):向集合末尾处,添加指定的元素
l add(int index, Object e):向集合指定索引处,添加指定的元素,原有元素依次后移
l 删除元素删除
l remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素
l remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素
l 替换元素方法
l set(int index, Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素
l 查询元素方法
l get(int index):获取指定索引处的元素,并返回该元素
方法演示:
1 List<String> list = new ArrayList<String>(); 2 3 //1,添加元素。 4 5 list.add("小红"); 6 7 list.add("小梅"); 8 9 list.add("小强"); 10 11 //2,插入元素。插入元素前的集合["小红","小梅","小强"] 12 13 list.add(1, "老王"); //插入元素后的集合["小红","老王","小梅","小强"] 14 15 //3,删除元素。 16 17 list.remove(2);// 删除元素后的集合["小红","老王","小强"] 18 19 //4,修改元素。 20 21 list.set(1, "隔壁老王");// 修改元素后的集合["小红","隔壁老王","小强"] 22 23 24 25 Iterator<String> it = list.iterator(); 26 27 while (it.hasNext()) { 28 29 String str = it.next(); 30 31 System.out.println(str); 32 33 }