Java学习笔记(6) 遍历容器

本文介绍了Java中遍历容器的多种方法,包括使用Iterator迭代器、普通for循环、增强for循环和Collections工具类的方法。详细讲解了如何遍历List、Set和Map,并提到了Collections的sort、shuffle、reverse和fill等实用方法。

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

Iterator迭代器的使用

Iterator其实相当于一个指针,他可以指向任何一种容器的的每一个内容,通过Iterator,我们可以更方便的管理容器中的元素,当然使用索引也可以达到Iterator的效果,但是Iterator的好处就是它适用于任何一种容器,无论是List、Set、Map。

遍历容器的几种方法

遍历List方法一:普通for循环,根据索引的方式

for(int i=0;i<list.size();i++){//list为集合的对象名
    String temp = (String)list.get(i);
    System.out.println(temp);
}

遍历List方法二:增强for循环(使用泛型!)

for (String temp : list) {
System.out.println(temp);
}

遍历List方法三:使用Iterator迭代器(1)

for(Iterator iter= list.iterator();iter.hasNext();){//iter.hasNext()就是字面意思,决定是否循环结束
    String temp = (String)iter.next();//iter.next()的作用是将当前元素返回,迭代器指向下一个元素
    System.out.println(temp);
}

遍历List方法四:使用Iterator迭代器(2)

Iterator  iter =list.iterator();//获得iterator
while(iter.hasNext()){
    Object  obj =  iter.next();
    iter.remove();//如果要遍历时,删除集合中的元素,建议使用这种方式!
    System.out.println(obj);
}

遍历Set方法一:增强for循环

for(String temp:set){
System.out.println(temp);
}

遍历Set方法二:使用Iterator迭代器

for(Iterator iter = set.iterator();iter.hasNext();){
    String temp = (String)iter.next();
    System.out.println(temp);
}

遍历Map方法一:根据key获取value

Map<Integer, Man> maps = new HashMap<Integer, Man>();
Set<Integer>  keySet =  maps.keySet();//获得Set
for(Integer id : keySet){
System.out.println(maps.get(id).name);
}

遍历Map方法二:使用entrySet,可以理解为将Map转换成Set后再遍历Set

Set<Entry<Integer, Man>>  ss = maps.entrySet();//map底层使用的哈希表,所以最小的元素单位是一个节点(Entry或者node),首先获取节点的Set
for (Iterator iterator = ss.iterator(); iterator.hasNext();) {//直接遍历Set
    Entry e = (Entry) iterator.next(); 
    System.out.println(e.getKey()+"--"+e.getValue());
}

Collections工具类

Collections工具类内有很多方法,可以使用这些方法对容器进行一些操作,比如排序,逆序等等。

  • void sort(List) //对List容器内的元素排序,排序的规则是按照升序进行排序。
    void shuffle(List) //对List容器内的元素进行随机排列。
    void reverse(List) //对List容器内的元素进行逆续排列 。
    void fill(List, Object) //用一个特定的对象重写整个List容器。
    int binarySearch(List, Object)//对于顺序的List容器,采用折半查找的方法查找特定对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值