博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
List、Set、Map常见集合遍历总结
阅读量:6709 次
发布时间:2019-06-25

本文共 1831 字,大约阅读时间需要 6 分钟。

Java中的集合有三大类,List、Set、Map,都处于java.util包中,List、Set和Map都是接口,不能被实例化,它们的各自的实现类可以被实例化。List的实现类主要有ArrayList,Set的实现类主要有HashSet和TreeSet,Map的实现类主要有HashMap和TreeMap。

  List中的对象有序,可以重复,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。
  Set中的对象无序,不可以重复。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator接口来自定义排序方式。
  Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。
  根据如上综述,现将这三种集合的遍历方式总结如下 
  

一、List集合

List集合有序,可重复,以最常见的ArrayList集合为例,List集合添加元素使用add()方法

List
list = new ArrayList
(); list.add(“张三”); list.add(“李四”); list.add(“王五”);

 

List集合遍历方式有三种:普通for循环、增强for循环、迭代器(iterator)

  • 普通for循环
for(int i=0; i

 

  • 增强for循环
for(String str : list) {    System.out.println(str);}

 

 

  • 迭代器(iterator)
Iterator
it = list.iterator();while(it.hasnext) { System.out.println(it.next); }

 

二、Set集合

Set集合无序,不可重复,以最常见的HashSet为例,Set集合添加元素也使用add()方法

Set
set = new HashSet
();set.add(“张三”); set.add(“李四”); set.add(“王五”);

Set集合遍历方式有两种:增强for循环、迭代器(Iterator)

  • 增强for循环
for(String str : set) {    System.out.println(str);}

 

  • 迭代器(Iterator)
Iterator
it = set.iterator();while(it.hasnext) { System.out.println(it.next); }

 

三、Map集合

Map集合以键值对的形式成对出现,无序,键对象不可重复,值对象可重复。以最常见的HashMap为例,Map集合添加元素采用put()方法

Map
map = new HashMap
(); map.put(1, “小希”); map.put(2, “美美”); map.put(3, “空城”);

 

Map集合遍历方式有两种,一种是将所有的Key拿出来组成集合KeySet,即纵向遍历,另一种是使用EntrySet获得所有的key-value的之间的关系集合,然后再遍历的横向方式

  • 获取所有的key的集合
Set
keys = map.keySet(); for(Integer key : keys) { String value = map.get(key); System.out.println(key+” ”+value); }

 

  • 获取key-value的对应关系
Set
> entrys = map.entrySet();for(Entry
entry : entrys) { System.out.println(entry.getKey()+” ”+entry.getValue()); }

转载于:https://www.cnblogs.com/qq3111901846/p/8034171.html

你可能感兴趣的文章
CSS 实现加载动画之四-圆点旋转
查看>>
Redis多机功能之复制
查看>>
Python continue
查看>>
使用CocoaPods出现 The `master` repo requires CocoaPods 0.32.1 - 问题解决
查看>>
C++中的explicitkeyword
查看>>
Android -- Fragment注意事项
查看>>
Material Designer的低版本兼容实现(一)—— 简介 & 目录
查看>>
Java Learning Path(四) 方法篇
查看>>
Android组件之BroadCast简单实践
查看>>
Android中View绘制流程以及invalidate()等相关方法分析
查看>>
C#编码、解码
查看>>
CF 277.5 B.BerSU Ball 二分图的最大匹配 模版题
查看>>
JavaWeb学习总结(四十九)——简单模拟Sping MVC
查看>>
[Bhatia.Matrix Analysis.Solutions to Exercises and Problems]PrI.6.1
查看>>
[再寄小读者之数学篇](2014-11-26 幂等矩阵的一个充分条件)
查看>>
Java学习笔记:内部类/匿名内部类的全面介绍
查看>>
BZOJ3775 : 点和直线
查看>>
人人都是 DBA(X)资源信息收集脚本汇编
查看>>
Java 异常处理的误区和经验总结
查看>>
Windows性能监视器
查看>>