集合List接口

本文详细介绍了Java集合框架中List接口的特点及其实现类,包括ArrayList、LinkedList和Vector。深入探讨了List的各种操作方法如add、get、remove等,并展示了如何通过不同方式遍历List集合。
摘要由CSDN通过智能技术生成

Collection接口的子接口:list接口。

List接口的特点:

        1.List集合中存放的元素是有序的(添加顺序与输出顺序一致),可重复。

        2.List集合中的每个元素都有其对应的顺序,支持索引查找。与数组相同,索引从0开始

List接口的实现子类:ArrayList、LinkedList、Vector类

// 通过ArrayList实现子类讲解List接口特点
List list = new ArrayList();
list.add("jack");
list.add("tom");
list.add("mary");
System.out.println(list); // [jack, tom, mary]

// 遍历list集合
for(int i = 0; i < 3; i++) {
    // 通过get方法获取集合中对应位置的对象
    // list集合是一个容器,每个元素都对应一个整数型序号记录元素在list中的位置,通过序号存取元素
    System.out.println(list.get(i);
}

List接口中的方法:

        add:void add(int index,Object ele),在索引为index的位置上添加ele元素

list.add(0, "kxg");

        addAll:boolean addAll(int index, Collection eles),从index位置上开始,插入eles集合中所有元素

List list1 = new ArrayList();
list1.add(25);
list1.add(4);
list1.add(100);
list.addAll(2, list1);
list.add("kxg");
System.out.println(list); // [kxg, jack, 25, 4, 100, tom, mary, kxg]

        get:Object get(int index):获取索引位置为index的元素

System.out.println(list.get(0)); // kxg

        indexOf:int indexOf(Object obj) :获取元素obj在集合中第一次出现的位置

        lastindexOf:int lastIndexOf(Object obj):获取元素obj在集合中最后一次出现的位置

System.out.println(list.indexOf("kxg")); // 0

System.out.println(list.lastIndexOf("kxg")); // 7

        remove:Object remove(int index):删除指定位置上的元素,并返回此元素

list.remove(7);

System.out.println(list); // [kxg, jack, 25, 4, 100, tom, mary]

        set:Object set(int index, Object ele):将集合中index位置上的元素修改为ele

                注意:index不能越界(<=最大索引),否则会抛出异常

list.set(1, "杰克"); 
System.out.println(list); // [kxg, 杰克, 25, 4, 100, tom, mary]
// list.set(7, "jack"); // IndexOutOfBoundsException

        sublist:List sublist(int fromIndex, int toIndex):返回索引从fromIndex到toIndex上的元素集合

                注意:集合范围:fromList <= sublist < toList 

List list2 = list.subList(2, 5);
System.out.println(list2); // [25, 4, 100]

遍历List集合:

        实现Collection接口的实现类(ArrayList、LinkedList、Vector)都可以通过三种方式进行遍历

// 创建List集合(使用ArrayList类)
List list = new ArrayList();
list.add("jack");
list.add("tom");
list.add("smith);
list.add("mary");

 一,使用Iterator迭代器进行遍历

        Iterator(迭代器)是一个接口,作用:遍历容器中的所有元素。

        Collection与Map系列用于盛装其他对象,而Iterator用于遍历(迭代访问)Collection中的元素

        因此实现了Collection个接口的类都可以使用Iterator进行遍历

        Iterator接口中的方法:

                boolean hasNext():判断集合中是否存在下一个元素;如果有,返回true

                Object next():返回集合中的下一个元素

                void remove():删除集合中上一个next方法返回的元素

// 使用Iterator迭代器遍历集合
    // 创建迭代器对象(使用list中的Iterator方法)
Iterator iterator = list.iterator();
    // 判断list集合是否存在下一个元素
while(iterator.hasNext()) {
    // 得到list集合中的每个元素
    System.out.println(iterator.next());
}

 二,使用for循环

        list接口中存在get方法可以根据索引获取每个元素;size方法可以获得集合中的元素个数

for(int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i);
}

三,增强for循环

for(Object o : list) {
    System.out.println(o);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值