栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaarraylist和linkedlist(arraylist怎么遍历)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaarraylist和linkedlist(arraylist怎么遍历)

首先介绍一个常用的几个集合类的特点

List集合

ArrayList:底层基于Object的动态数组(可以进行动态扩容)。适用于经常查改的场景,线程不安全。存取元素(有序,可重复)

linkedList:底层基于双向链表(也是与ArrayList的本质区别)。适用于经常增删的场景,线程不安全。存取元素(有序,可重复)

Vector:(其实就是一个线程安全的ArrayList,因为线程安全,所以效率相比较低一些。)

Set集合

HashSet:底层基于HashMap(哈希表),线程不安全,集合中可以添加null。存取元素(无序,不可重复)。

linkedHashSet;底层基于linkedHashMap(哈希表和链表实现的接口)(从而存取元素是有序的),线程不安全,集合中可以添加null。存取元素(有序,不可重复)。

TreeSet:底层基于TreeMap(哈希表和链表实现的接口)(从而存取元素是有序的),线程不安全,集合中可以添加null。存取元素(无序,不可重复)。

集合遍历的4种方法

1.普通for循环(不适用于Set集合,因为Set集合底层基于哈希表,没有提高带索引的方法。)

举例:

for (int i = 0; i < arrayList.size(); i++) { // size表示集合的个数
            System.out.print(arrayList.get(i));
        }

2.增强for循环(List和Set都适用)

举例:

for (Object d : linkedList) {
			System.out.print(d);
		}
		System.out.println("rn==================");

for (Object f : linkedHashSet) {
			System.out.print(f);
		}

3.单项迭代器(iterator都适用)

举例:

Iterator iterator = linkedHashSet.iterator();
		while (iterator.hasNext()) {
			System.out.print(iterator.next());
		}

Iterator iterator2 = arrayList.iterator();
		while (iterator2.hasNext()) {
			System.out.print(iterator2.next());
		}

4.双向迭代器(只适用于List集合,因为List是基于链表的)

举例:

ListIterator iterator = linkedList.listIterator();
while(iterator.hasPrevious()){
	System.out.println(iterator.previous());
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号