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常见集合遍历总结的更多相关文章

  1. Map常用集合遍历

    Map集合遍历的四种方式理解和简单使用 Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键 ...

  2. Map类集合遍历

  3. Map集合遍历的2种方法

    Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...

  4. Map集合遍历的四种方式理解和简单使用-----不能for循环遍历

    Map集合遍历的四种方式理解和简单使用   ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...

  5. 双列集合Map的嵌套遍历

    双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...

  6. Map 集合遍历的4种方法

    Map 集合初始化时,指定集合初始值大小. 说明:HashMap 使用 HashMap(int initialCapacity) 初始化. 正例:initialCapacity = (需要存储的元素个 ...

  7. Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...

  8. 集合遍历数组三种常用方式(Collecton和Map)

    Collection集合遍历数组的三种方式: 迭代器 foreach(增强for循环) JDK1.8之后的新技术Lambda 迭代器: 方法:public Iterator inerator():获取 ...

  9. Map接口中的常用方法和Map集合遍历键找值方式

    Map接口中定义了很多方法,常用的如下: public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作) V remove(Object key); 如果此映射 ...

随机推荐

  1. CentOS 6.9/7通过yum安装指定版本的Tomcat

    说明:通过yum好处其实很多,环境变量不用配置,配置文件放在大家都熟悉的地方,通过rpm -ql xxx可以知道全部文件的地方等等. 一.安装Tomcat(8+) // 下载脚本 # git clon ...

  2. 解决 Operation must use an updateable query

    在asp.net 开发环境下,用jet 4.0连接access数据库, 有时会产生Operation must use an updateable query,这是由于相关用户mdb文件没有Modif ...

  3. SpringBoot添加支持CORS跨域访问

    原文:https://www.jianshu.com/p/c6ea21b64f6e CORS(Cross-Origin Resource Sharing)"跨域资源共享",是一个W ...

  4. Android源码大放送之material design类型

    本文转载自:http://www.apkbus.com/android-243232-1-1.html 鉴于大家对源码的渴望,就算自己辛苦一点也要满足大家的需求,查看了几百个源码之后终于筛选出了这些精 ...

  5. python接口自动化9-https请求(SSL)

    前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [S ...

  6. Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器

    前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...

  7. ecside 列表排序问题

    ecside列表首先点击某一列排序,没有问题,再点第二列的时候没有起作用.原因是第二次排序的时候还包含着第一次排序的字段.所以排序始终是第一次的排序结果. 修改ecside.js 的ECSideUti ...

  8. Python学习(四)数据结构(概要)

    Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types          int float Text Sequence ...

  9. Python学习(四)数据结构 —— bool

    Python 布尔类型 bool python 中布尔值使用常量True 和 False来表示:注意大小写 比较运算符< > == 等返回的类型就是bool类型:布尔类型通常在 if 和 ...

  10. Spring核心之IoC——依赖注入

    在J2EE开发平台中,Spring是一种优秀的轻量级企业应用解决方案.Spring倡导一切从实际出发,它的核心技术就是IOC(控制反转)和AOP(面向切面编程)技术.本文用的Spring版本为spri ...