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. MyISAM重启之后的一次血泪教训

    最近经历了一次MyISAM重启的血泪教训,小小的故障历经3个小时才全部解决完毕,特此铭记一下,以后坚决防止在同一个地方跌倒两次. 事情的过程: 某日早7点接到几条主库报警,给值班组打电话后得到的消息是 ...

  2. Vue学习记录-状态管理

    要解决的问题 平时的系统开发中,基本都会碰到这个权限问题,需要根据用户的登录状态进行处理.最常见的情况就是“先登录,后使用”.除去打包成APP,无法看到连接外,如果地址栏里直接输入地址就能绕过登录的话 ...

  3. RTL8188EUS带天线的WiFi模块

    http://www.liuliutech.com/ProductShow.asp?ID=121 一,公司介绍瑞昱(REALTEK)半导体成立于1987年,位于台湾[硅谷]的新竹科学园区.凭借着7位创 ...

  4. FreeRTOS介绍与移植

    http://andyhuzhill.github.io/freertos/2013/07/30/freertostransplant/ 最近在看一个实时嵌入式操作系统————FreeRTOS, 为什 ...

  5. java计算代码执行时间

    有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的currentTimeMillis()方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 Syst ...

  6. APP H5页面显示优化

    在开发移动端APP页面时,对各操作系统各种型号的手机进行适配是必须的.然鹅,上周在开发完一个落地页后,被测试给打了回来,其中列出了一个在我看来很小的问题:单击进入页面的时候,页面还没加载完的时候字体显 ...

  7. mysql_fetch_assoc 跟mysql_fetch_array 有什么区别?

    mysql_fetch_assoc 得到的是关联数组. Array ( [0] => Array ( [title] => 特价9.9包邮 EFOLAR/依芙拉 BB粉润腮红粉 饼 蘑菇 ...

  8. weblogic打补丁,bsu方法

    刚装了10.3.6版本的weblogic,想把版本补丁到10.3.6.0.12 我用的系统是windows 8.1 ,呵呵 查看版本 执行java weblogic.version WebLogic ...

  9. Andorid之Annotation框架初使用(五)

    注入res文件夹的资源: @StringRes @EActivity public class MyActivity extends Activity { @StringRes(R.string.he ...

  10. iOS中 imageNamed方法 非常多图片占用大量内存问题

    当我们须要载入非常多图片(相冊)的时候我们通常会用[UIimage  imageNamed:imageName]; 实际上[UIimage  imageNamed:imageName]这种方法在图片使 ...