Java学习之List、迭代器

本文详细介绍了Java中Collection的常用方法,如addAll、removeAll及retainAll等,并解释了如何使用迭代器遍历集合,以及List特有的方法如add、set、get和remove。此外,还提供了一个具体的例子来演示如何对集合中的元素进行去重处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Collection中的几个All方法

    addAll方法:把指定集合中的所有元素都添加到当前集合中。

    removeAll:把指定集合与当前集合的交集删除。

    retainAll:判断指定集合是否是当前集合的真子集,是 ,则返回true,不是则返回false。


集合的遍历
    迭代器遍历集合

// 获取集合中元素上迭代功能的迭代器对象
// 迭代器对象不需要new 直接通过iterator()方法获取即可
Iterator iterator = arrayList.iterator();
		
// 将集合中的元素遍历打印
while(iterator.hasNext()) {
	Object next = iterator.next();
	System.out.println(next);
}

迭代器原理

    集合内部有个指针,调用hasNext()方法时,会查看下一个位置是否为空,若不是空,则可调用next()方法将元素取出。

List特有方法

    add(int index,Object obj)

        在指定位置添加元素,但是要注意不要超出集合的Size。

    set(index,obj)

        设置元素,就是替换该位置的元素。

    get(int index)

        获取指定下标处的元素

    remove(int index)

        删除指定位置元素,返回的是删除的元素。

    listIterator() 返回一个ListIterator对象,在Iterator的基础上添加了方法,如可以在迭代循环中给集合添加元素。

    // 利用get方法遍历集合
    for (int i = 0; i < list.size(); i++) {
            // 打印元素
            System.out.println(list.get(i));
    }

方法的练习,对一个集合里的元素进行去重

// 获取一个ListIterator对象
ListIterator listIterator = list.listIterator();
			
// 迭代遍历
while (listIterator.hasNext()) {
	// 向下转型
	String string = (String)listIterator.next();
	// 判断新集合中是否有这个元素,没有就加到新集合中
	if (!list1.contains(string)) {
		list1.add(string);
	}
}
当集合中的元素是一个个单独的对象时,就无法使用如上方法了,因为这种方法的核心是调用的Object的equals方法,是对地址的比较,如果想达到去重的效果,需要在集合中存储的元素的类中重写equals方法,改成对类属性的判断。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值