List、Set、Map常见集合遍历总结
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<String> list = new ArrayList<String>();
list.add(“张三”);
list.add(“李四”);
list.add(“王五”);
List集合遍历方式有三种:普通for循环、增强for循环、迭代器(iterator)
- 普通for循环
for(int i=0; i<list.size(); i++) {
String str = list.get(i);
System.out.println(str);
}
- 增强for循环
for(String str : list) {
System.out.println(str);
}
- 迭代器(iterator)
Iterator<String> it = list.iterator();
while(it.hasnext) {
System.out.println(it.next);
}
二、Set集合
Set集合无序,不可重复,以最常见的HashSet为例,Set集合添加元素也使用add()方法
Set<String> set = new HashSet<String>();
set.add(“张三”);
set.add(“李四”);
set.add(“王五”);
Set集合遍历方式有两种:增强for循环、迭代器(Iterator)
- 增强for循环
for(String str : set) {
System.out.println(str);
}
- 迭代器(Iterator)
Iterator<String> it = set.iterator();
while(it.hasnext) {
System.out.println(it.next);
}
三、Map集合
Map集合以键值对的形式成对出现,无序,键对象不可重复,值对象可重复。以最常见的HashMap为例,Map集合添加元素采用put()方法
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, “小希”);
map.put(2, “美美”);
map.put(3, “空城”);
Map集合遍历方式有两种,一种是将所有的Key拿出来组成集合KeySet,即纵向遍历,另一种是使用EntrySet获得所有的key-value的之间的关系集合,然后再遍历的横向方式
- 获取所有的key的集合
Set<Integer> keys = map.keySet();
for(Integer key : keys) {
String value = map.get(key);
System.out.println(key+” ”+value);
}
- 获取key-value的对应关系
Set<Entry<Integer, String>> entrys = map.entrySet();
for(Entry<Integer, String> entry : entrys) {
System.out.println(entry.getKey()+” ”+entry.getValue());
}
List、Set、Map常见集合遍历总结的更多相关文章
- Map常用集合遍历
Map集合遍历的四种方式理解和简单使用 Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键 ...
- Map类集合遍历
- Map集合遍历的2种方法
Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...
- Map集合遍历的四种方式理解和简单使用-----不能for循环遍历
Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...
- 双列集合Map的嵌套遍历
双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...
- Map 集合遍历的4种方法
Map 集合初始化时,指定集合初始值大小. 说明:HashMap 使用 HashMap(int initialCapacity) 初始化. 正例:initialCapacity = (需要存储的元素个 ...
- Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...
- 集合遍历数组三种常用方式(Collecton和Map)
Collection集合遍历数组的三种方式: 迭代器 foreach(增强for循环) JDK1.8之后的新技术Lambda 迭代器: 方法:public Iterator inerator():获取 ...
- Map接口中的常用方法和Map集合遍历键找值方式
Map接口中定义了很多方法,常用的如下: public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作) V remove(Object key); 如果此映射 ...
随机推荐
- linux下如何启动sybase
isql -Dxxx -Uxxx -P111111 用isql连接数据库发现数据库没有启动. 如何启动sybase数据库? [TA_SYBASE][/home/bta]su - sybase //切 ...
- TortoiseSVN里锁lock 的使用方法
刚才试验了一下,终于搞明白了TortoiseSVN里锁lock 的使用方法. 简单的说,如果压根没有锁lock,那么每个人都拥有一个本地copy,每个人都能自由地对本地copy编辑edit并提交com ...
- HelloWorld 和相关设置
写这篇文章的初衷很简单,就是想再一次证明 IntelliJ IDEA 对于 Java 开发人员来说,确实比 eclipse 要好用得多,鉴于目前市面上关于 IntelliJ IDEA 的教程比较少,叙 ...
- hdu 1272 小希的迷宫(java实现)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- win10怎么彻底关闭自动更新
原文:https://jingyan.baidu.com/article/9faa7231e7b78b473c28cbb6.html 方法/步骤 1 单击左下角开始菜单点击设置图标进入设置界面 2 ...
- iTunes Connect App Bundles
App Bundles捆绑销售提交流程: 1. 在iTunes Connect左上「+」选「Create Bundle」到「New App Bundle」挑选已上线应用(最多可捆绑10个应用) 2. ...
- [Python爬虫] 之一 : Selenium+Phantomjs动态获取网站数据信息
本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.c ...
- 微软小冰你这么智能 .net知道吗?
- js 多域名跳转
<script>try {if( self.location == "http://cnblogs.com/endv" ) { top.location.href = ...
- (C++)函数参数传递中的一级指针和二级指针
主要内容: 1.一级指针和二级指针 2.函数指针传递的例子 3.什么时候需要传递二级指针? 4.二级指针在链表中的使用 1.一级指针和二级指针 一级指针:即我们一般说的指针,就是内存地址: 二级指针: ...