我是靠谱客的博主 留胡子摩托,最近开发中收集的这篇文章主要介绍迭代器iterator遍历集合,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

集合分为list、set和map。list排列有序,可重复;set排列无序,不可重复;map键不可重复,值可重复,排列无序。

一般遍历用for循环,但是set和map无序,所以要用迭代器。

迭代器是将数据放在一个容器中,并排成一排,迭代器有一个游标,再未遍历之前,这个游标放在第一位元素的前面,一般是迭代器iterator.hasNext判断游标后面是否有元素,iterator.next是将游标向后移一位。

list集合分为ArrayList、vector、LinkedList
ArrayList:排列有序,可重复,底层是数组,增删慢,查询快,扩容机制是当前容量的1.5倍+1,线程不安全。
vector:排列有序,可重复,底层是数组,增删慢,查询快,扩容机制是当前容量的1倍,线程安全。vector因为是线程安全的,所以它的查询速度没有ArrayList快。
LinkedList:排列有序,可重复,底层是链表,增删快,查询慢,线程不安全

set集合分为HashSet、TreeSet和LinkedHshSet
HashSet:排列无序,不可重复,存取速度快
TreeSet:排列无序,不可重复,排序存储
LinkedHashSet:排列无序,不可重复,一般不用

map集合分为HashMap、TreeMap、hashtable
HashMap:排序无序,键不可重复,值可重复,线程不安全,键值都可为null
TreeMap:排列无序,键不可重复,值可重复
hashtable:排列无序,键不可重复,值可重复,线程安全,键值都不可为null

list迭代器遍历

List<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("b");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
    System.out.println(iterator.next());
}

set迭代器遍历

Set<String> set = new HashSet<>();
set.add("a");
set.add("a");
set.add("b");
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
    System.out.println(iterator.next());
}

map迭代器遍历
因为map里面存储的是键值对,如果要遍历的话,需要把map里的对象看成一个整体

Map<Integer,String> map = new HashMap<>();
map.put(1,"a");
map.put(1,"b");
map.put(2,"a");
Set<Map.Entry<Integer, String>> set = map.entrySet();
Iterator<Map.Entry<Integer, String>> iterator = set.iterator();
while (iterator.hasNext()){
    System.out.println(iterator.next());
}

最后

以上就是留胡子摩托为你收集整理的迭代器iterator遍历集合的全部内容,希望文章能够帮你解决迭代器iterator遍历集合所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部