/*
* 遍历List/Set/Map集合的一些常用方法
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class TestMapListSet {
  public static void main(String[] args) {
  

  // 遍历List集合 :
    

    // 生成一个简单地List集合[aa,bb,cc,dd]
    List<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
   

    // 方法一:普通的for循环
    for (int i = 0; i < list.size(); i++) {
      System.out.println(list.get(i));
    }

    // 方法二:增强for循环,foreach循环
    for (String s : list) {
      System.out.println(s);
    }
    

    // 方法三:使用迭代器(1)for循环

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

    // 方法四:使用迭代器(2)while循环
    Iterator<String> it = list.iterator();
    while (it.hasNext()) {
    String temp = (String) it.next();
    if (false) {
      it.remove(); // 如果在遍历的过程中需要删除部分元素的话,推荐使用此方法
    }
    System.out.println(temp);
    }

  // 遍历Set集合:
    

    // 生成一个简单的Set集合[aa,bb,cc,dd]
    Set<String> set = new HashSet<>();
    set.add("aa");
    set.add("bb");
    set.add("cc");
    set.add("dd");
    

    // 方法一:增强for循环:foreach循环
    for (String s : set) {
      System.out.println(s);
    }

    // 方法二:使用迭代器
    for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
      String temp = (String) iter.next();
    System.out.println(temp);
    }
    

  // 遍历Map集合:
  

    // 生成一个简单地Map集合[512--aa,513--bb,514--cc,515--dd]
    Map<Integer, String> map = new HashMap<>();
    map.put(512, "aa");
    map.put(513, "bb");
    map.put(514, "cc");
    map.put(515, "dd");

    // 方法一:根据Key获取Value,foreach循环
    Set<Integer> keySet = map.keySet();
    for (Integer i : keySet) {
      System.out.println(i + "--" + map.get(i));
    }
    

    // 方法二:使用迭代器,使用entrySet
  
  Set<Map.Entry<Integer, String>> set1 = map.entrySet();

    for (Iterator<Map.Entry<Integer, String>> iter = set1.iterator(); iter.hasNext();) {
      Map.Entry<Integer, String> temp = iter.next();
      System.out.println(temp.getKey() + "--" + temp.getValue());
    }
  }
}

【Java】遍历List/Set/Map集合的一些常用方法的更多相关文章

  1. Java笔记(二十三)……Map集合

    Map接口 Map<K,V> 该集合存储的是键值对,成对往集合里存,而且要保证键的唯一性 常用方法 添加 Vput(K key, V value) voidputAll(Map<? ...

  2. struts2:OGNL表达式,遍历List、Map集合;投影的使用

    OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存 ...

  3. Java第二十天,Map集合(接口)

    Map接口 一.定义 Map集合是双列集合,即一个元素包含两个值(一个key,一个value),Collection集合是单列集合. 定义格式: public interface Map<K,V ...

  4. 【Java学习笔记】Map集合的keySet,entrySet,values的用法例子

    import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

  5. JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)

    package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  6. java 遍历List 和 Map的几种方法

    java遍历List 1.(性能最差) for(String tmp:list) { //System.out.println(tmp); } 2.(性能最好) for(int i = 0; i &l ...

  7. 集合框架-Map集合特点及常用方法

    1 package cn.itcast.p6.map.demo; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import ...

  8. JAVA基础知识之Map集合

    Map的内部结构Entry Set与Map的关系 Map的内部类Entry Map的通用方法及Map的简单用法 HashMap和HashTable的区别 HashMap和HashTable判断元素相等 ...

  9. 遍历 ArrayList与Map集合

    import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * 遍历 ArrayList * @ ...

随机推荐

  1. wepy框架开发小程序遇到的node-sass问题解决方案

    一.报错图 二.解决方案 主要是windows平台缺少编译环境, 1.先运行: npm install -g node-gyp 2.然后运行cmd:(右键点击:以管理员身份运行) 输入:npm ins ...

  2. Spring boot 梳理 - 配置eclipse集成maven,并开发Spring boot hello

    @RestController @EnableAutoConfiguration public class App { @RequestMapping("/hello") publ ...

  3. mybatis 配置之<typeAliases>别名配置元素设置

    一.方式一:使用typeAlias <typeAliases> <typeAlias alias="User" type="com.**.entity. ...

  4. java 集成Redis 一主多从

    1.测试代码如下: public static void main(String[] args) { Set<String> sentinels = new HashSet<Stri ...

  5. jedis 2.9版本部分属性变更

    1.控制一个pool可分配多少个jedis实例 “maxActive” -> “maxTotal” 2.最大建立连接等待时间.如果超过此时间将接到异常.设为-1表示无限制. “maxWait” ...

  6. 难题解决:Mycat数据库中间件+Mybatis批量插入数据并返回行记录的所有主键ID

     一.mybatis的版本必须为3.3.1及其以上 项目所依赖的mybatis的版本必须为3.3.1及其以上,低版本的不行,保证hap项目的依赖的mybatis的jar的版本必需为需要的版本: 二.在 ...

  7. mysql引号与esc键下方键

    navicat导出数据表发现建表语句如下: create table `product_category` ( `category_id` int not null auto_increment, ` ...

  8. Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker

    今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...

  9. Java线程状态和关闭线程的正确姿势

    1.线程状态及切换 Java中的线程有六种状态,使用线程Thread内的枚举类来实现,如下,我对每个状态都进行了一定的解释. public enum State { /** 表示一个线程还没启用(即未 ...

  10. 题解:2018级算法第二次上机 Zexal的流水线问题

    题目描述: 样例: 实现解释: 最基础的流水线调度问题,甚至没有开始和结束的值 实现方法即得出状态转移方程后完善即可,设a[][i]存储着第一二条线上各家的时间花费,t[][i]存储着i处进行线路切换 ...