Java基础-Collection子接口之List接口
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?接下来我们一起Collection中的常用子类之一的:List集合。
一.List接口介绍
有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。难免有人希望通过在用户尝试插入重复元素时抛出运行时异常的方法来禁止重复的列表,但我们希望这种用法越少越好。
看完API我们可以做出如下总结:
1>.它是一个元素存取有序的集合。例如,存元素的顺序是11,22,33。那么集合中,元素的存储都是按照11,22,33的顺序完成的;
2>.它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
3>.集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
List接口是继承了Collection接口,下面有很多实现类,常用的实现类有:ArrayList集合,LinkedList集合和Vector集合。
二.List接口的特有方法
List接口中的抽象方法,有一部分方法和他的父接口Collection是一样,List接口也有自己特有的方法,带有索引的功能。
1>.add(int index,E)方法【将元素插入到列表的指定索引上】
1 /*
2 @author :yinzhengjie3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
4 EMAIL:y1053419035@qq.com5 */
6
7 packagecn.org.yinzhengjie.note;8
9 importjava.util.ArrayList;10 importjava.util.List;11
12 public classListDemo {13 public static voidmain(String[] args) {14 function();15 }16
17 public static voidfunction() {18 List list = new ArrayList();19 list.add("yinzhengjie1");20 list.add("yinzhengjie2");21 list.add("yinzhengjie3");22 list.add("yinzhengjie4");23 System.out.println(list);24 list.add(4,"yinzhengjie"); //这里是在当前集合中最后一个索引进行添加操作!
25 list.add(1,"尹正杰");26 System.out.println(list);27 }28 }29
30 /*
31 以上代码执行结果如下:32 [yinzhengjie1, yinzhengjie2, yinzhengjie3, yinzhengjie4]33 [yinzhengjie1, 尹正杰, yinzhengjie2, yinzhengjie3, yinzhengjie4, yinzhengjie]34 */
2>.get(int index)方法【返回列表中指定位置的元素】
1 /*
2 @author :yinzhengjie3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
4 EMAIL:y1053419035@qq.com5 */
6
7 packagecn.org.yinzhengjie.note;8
9 importjava.util.ArrayList;10 importjava.util.List;11
12 public classListDemo {13 public static voidmain(String[] args) {14 function();15 }16
17 public static voidfunction() {18 List list = new ArrayList();19 list.add("yinzhengjie1");20 list.add("yinzhengjie2");21 list.add("yinzhengjie3");22 list.add("yinzhengjie4");23 System.out.println(list.get(2)); //获取指定索引的值
24 }25 }26
27 /*
28 以上代码执行结果如下:29 yinzhengjie330 */
3>.remove(Object o)方法【从此列表中移除第一次出现的指定元素(可选操作,如果存在就删除第一此匹配到的元素,如果没有匹配到就不做任何操作)】