精华内容
下载资源
问答
  • java 遍历listpackage com.tiandy.core.rest;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/*** List 集合的循环遍历* @data 2020.12.12**/public class TestList {public static ...

    java 遍历list

    package com.tiandy.core.rest;

    import java.util.ArrayList;

    import java.util.Iterator;

    import java.util.List;

    /**

    * List 集合的循环遍历

    * @data 2020.12.12

    *

    */

    public class TestList {

    public static void main(String[] args) {

    // 循环遍历List的4中方法

    List strList = new ArrayList<>();

    strList.add("aaa");

    strList.add("bbb");

    strList.add("ccc");

    // 第一种: 普通for循环遍历方式 (好处是可以选择下标)

    for (int i = 0; i < strList.size(); i++) {

    System.out.println(strList.get(i));

    }

    // 第二种: 增强的for循环

    for (String str : strList) {

    System.out.println(str);

    }

    // 第三种: 使用Iterator迭代器

    Iterator it = strList.iterator();

    while (it.hasNext()) {

    String str = (String) it.next();

    System.out.println(str);

    }

    // 第四种: java8 Lambda方式(箭头函数)

    // strList.forEach(System.out::println); //和下面的写法等价(当后边只有一行内容是可以简写)

    strList.forEach(str -> {

    System.out.println(str);

    });

    }

    }

    如果想要在循环的过程中国,使用下标,推荐第一种方式方式;

    如果需要曾强for循环,可以直接使用对象,推荐使用第二种方式;

    如果需要在遍历过程中删除元素推荐第三种使用Iterator;

    如果是JDK1.8以上版本,追求效果简洁,可以使用第四种方式使用forEach箭头函数。

    Java遍历map

    package cn.jdbc.test;

    import java.util.HashMap;

    import java.util.Iterator;

    import java.util.Map;

    import java.util.Map.Entry;

    /**

    * Map 集合的循环遍历

    * @data 2020.11.12

    *

    */

    public class TestMap {

    public static void main(String[] args) {

    Map map = new HashMap();

    map.put("aaa", 111);

    map.put("bbb", 222);

    map.put("ccc", 333); // 第一种: 通过keySet的方式

    System.out.println("第1种:通过Map.keySet()遍历key和value:");

    for(String key:map.keySet()){//keySet获取map集合key的集合 然后在遍历key获取value即可

    String value = map.get(key).toString();//

    System.out.println("key:"+key+" vlaue:"+value);

    }

    // 第二种:通过迭代器的方式

    System.out.println("第2种:通过Map.entrySet使用iterator遍历key和value:");

    Iterator> it = map.entrySet().iterator();

    while(it.hasNext()){

    Entry entry = it.next();

    System.out.println("key:"+entry.getKey()+" key:"+entry.getValue());

    }

    // 第三种:尤其是容量大时,推荐

    System.out.println("第3种:通过Map.entrySet遍历key和value");

    for (Map.Entry m : map.entrySet()) {

    System.out.println("key:" + m.getKey() + " value:" + m.getValue());

    }

    // 第四种:只需要获取value时使用

    System.out.println("第4种:通过Map.values()遍历所有的value,但不能遍历key");

    for(Object m:map.values()){

    System.out.println(m);

    }

    }

    }

    如果只是获取key,或者value,推荐使用keySet或者values方式;

    如果同时需要key和value推荐使用entrySet;

    如果需要在遍历过程中删除元素推荐使用Iterator;

    如果需要在遍历过程中增加元素,可以新建一个临时map存放新增的元素,等遍历完毕,再把临时map放到原来的map中。

    以上就是Java 遍历list和map的方法的详细内容,更多关于Java 遍历list和map的资料请关注聚米学院其它相关文章!

    展开全文
  • for( Map mapList : list ) { for( String key : mapList.keySet() ) { System.out.println( key + "-->" + mapList.get(key) ); } } System.out.println( "方法三 :" ); for( int i = 0; i < list.size(); i++ ) {...

    Stueng 类

    public class Student {

    private String name;

    private int age;

    private int taller;

    public Student( String name, int age, int taller ) {

    this.name = name;

    this.age = age;

    this.taller = taller;

    }

    @Override

    public String toString() {

    StringBuilder builder = new StringBuilder();

    builder.append("Student [name=").append(name).append(", age=").append(age).append(", taller=").append(taller)

    .append("]");

    return builder.toString();

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public int getAge() {

    return age;

    }

    public void setAge(int age) {

    this.age = age;

    }

    public void setTaller( int taller ) {

    this.taller = taller;

    }

    public int getTaller() {

    return taller;

    }

    }

    测试类

    import java.util.ArrayList;

    import java.util.HashMap;

    import java.util.Iterator;

    import java.util.List;

    import java.util.Map;

    import PubClass.Student;

    public class ListAddMap {

    public static void main( String args[] ) {

    List> list = new ArrayList>();

    Map map = new HashMap();

    Student stu1 = new Student( "张三", 26, 180 );

    Student stu2 = new Student( "李四", 28, 175 );

    map.put( "stu1", stu1 );

    map.put( "stu2", stu2 );

    list.add( map );

    System.out.println( "方法一 :" );

    for( int i = 0; i < list.size(); i++ ) {

    System.out.println( list.get(i) );

    }

    System.out.println( "方法二 :" );

    for( Map mapList : list ) {

    for( String key : mapList.keySet() ) {

    System.out.println( key + "-->" + mapList.get(key) );

    }

    }

    System.out.println( "方法三 :" );

    for( int i = 0; i < list.size(); i++ ) {

    Map mapList = list.get(i);

    Iterator it = mapList.keySet().iterator();

    while( it.hasNext() ) {

    String str = (String) it.next();

    System.out.println( "key-->" + str + "\t value-->" + map.get(str) );

    }

    }

    }

    }

    运行结果

    55f2e48222c56f67937a7377e542847c.png

    原文:https://www.cnblogs.com/dgm2088/p/10082327.html

    展开全文
  • 使用JDK8新特性,for循环增强,Iterator,while做遍历List集合public static void main(String[] args) {List list = new ArrayList<>();list.add("test1x");list.add("test2x");list.add("test3x");System....

    使用JDK8新特性,for循环增强,Iterator,while做遍历List集合

    public static void main(String[] args) {

    List list = new ArrayList<>();

    list.add("test1x");

    list.add("test2x");

    list.add("test3x");

    System.out.println(list);

    System.out.println("===========");

    list.forEach((v)->{

    System.out.println(v);

    });

    System.out.println("===========");

    for(String str : list) {

    System.out.println(str);

    }

    System.out.println("===========");

    for(int i = 0; i < list.size();i++) {

    System.out.println(list.get(i));

    }

    System.out.println("===========");

    Iterator it = list.iterator();

    while(it.hasNext()) {

    System.out.println(it.next());

    }

    System.out.println("=========");

    int i = 0;

    while(i < list.size()){

    System.out.println(list.get(i));

    i++;

    }

    }

    使用JDK8新特性,for循环增强,Iterator,Map.Entry做遍历Map集合

    public static void main(String[] args) {

    Map map = new HashMap<>();

    map.put(1,"test1x");

    map.put(2,"test2x");

    map.put(3,"test3x");

    System.out.println(map);

    System.out.println("==========");

    map.forEach((k ,v) -> {

    System.out.println(k + " , " + v);

    });

    System.out.println("========================");

    for(Map.Entry entry : map.entrySet()) {

    System.out.println(entry.getKey() + " , " + entry.getValue());

    }

    System.out.println("==========");

    for(int key : map.keySet()) {

    System.out.println(key + " , " + map.get(key));

    }

    System.out.println("==========");

    Iterator> it = map.entrySet().iterator();

    while(it.hasNext()){

    Map.Entry entry = it.next();

    System.out.println(entry.getKey() + " , " + entry.getValue());

    }

    System.out.println("==========");

    for(String v : map.values()) {

    System.out.println(v);

    }

    }

    展开全文
  • public classTest {public static voidmain(String[] args) {//循环遍历List的4中方法List strList = new ArrayList<>();strList.add("aaa");strList.add("bbb");strList.add("ccc");//1. 普通遍历方式for ...

    public classTest {public static voidmain(String[] args) {//循环遍历List的4中方法

    List strList = new ArrayList<>();

    strList.add("aaa");

    strList.add("bbb");

    strList.add("ccc");//1. 普通遍历方式

    for (int i = 0; i < strList.size(); i++) {

    System.out.println(strList.get(i));

    }//2.增强的for循环

    for(String str : strList) {

    System.out.println(str);

    }//3. 使用Iterator迭代器

    Iterator it =strList.iterator();while(it.hasNext()) {

    String str=(String) it.next();

    System.out.println(str);

    }//4. java8 Lambda方式//strList.forEach(System.out::println);//和下面的写法等价

    strList.forEach(str ->{

    System.out.println(str);

    });

    }

    }

    方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

    Map map = new HashMap();for (Map.Entryentry : map.entrySet()) {

    System.out.println("Key = " + entry.getKey() + ", Value = " +entry.getValue());

    }

    方法二 在for-each循环中遍历keys或values。

    如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

    Map map = new HashMap();//遍历map中的键

    for(Integer key : map.keySet()) {

    System.out.println("Key = " +key);

    }//遍历map中的值

    for(Integer value : map.values()) {

    System.out.println("Value = " +value);

    }

    该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。

    方法三使用Iterator遍历

    使用泛型:

    Map map = new HashMap();

    Iterator> entries =map.entrySet().iterator();while(entries.hasNext()) {

    Map.Entry entry =entries.next();

    System.out.println("Key = " + entry.getKey() + ", Value = " +entry.getValue());

    }

    不使用泛型:

    Map map = newHashMap();

    Iterator entries=map.entrySet().iterator();while(entries.hasNext()) {

    Map.Entry entry=(Map.Entry) entries.next();

    Integer key=(Integer)entry.getKey();

    Integer value=(Integer)entry.getValue();

    System.out.println("Key = " + key + ", Value = " +value);

    }

    你也可以在keySet和values上应用同样的方法。

    该种方式看起来冗余却有其优点所在。首先,在老版本java中这是惟一遍历map的方式。另一个好处是,你可以在遍历时调用iterator.remove()来删除entries,另两个方法则不能。根据javadoc的说明,如果在for-each遍历中尝试使用此方法,结果是不可预测的。

    从性能方面看,该方法类同于for-each遍历(即方法二)的性能。

    方法四、通过键找值遍历(效率低)

    Map map = new HashMap();for(Integer key : map.keySet()) {

    Integer value=map.get(key);

    System.out.println("Key = " + key + ", Value = " +value);

    }

    作为方法一的替代,这个代码看上去更加干净;但实际上它相当慢且无效率。因为从键取值是耗时的操作(与方法一相比,在不同的Map实现中该方法慢了20%~200%)。如果你安装了FindBugs,它会做出检查并警告你关于哪些是低效率的遍历。所以尽量避免使用。

    总结

    如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。

    java8的List分组

    public Map> groupList(Liststudents) {

    Map> map =students.stream().collect(Collectors.groupingBy(Student::getName));returnmap;

    }

    展开全文
  • 第一种用for循环Java代码for(Map.Entry entry:map.entrySet()){System.out.println(entry.getKey()+"--->"+entry.getValue());}for(Map.Entry entry:map.entrySet()){System.out.println(entry.getKey()+"--->...
  • JAVA 遍历ListMap

    2019-06-16 17:47:45
    1.遍历List //三种方法都是用来遍历ArrayList集合,第三种方法是采用迭代器的方法,该方法可以不用担心在遍历的过程中会超出集合的长度。 import java.util.*; public class Test{ public static void main...
  • packagetestMap;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjava.util.Map.Entry;.../***循环遍历Map集合*...
  • java遍历ListMap、Set方法以及比较
  • public classTest {public static voidmain(String[] args) {//循环遍历List的4中方法List strList = new ArrayList<>();strList.add("aaa");strList.add("bbb");strList.add("ccc");//1. 普通遍历方式for ...
  • Java遍历ListMap

    2018-10-30 15:36:20
    public class CollectionDemo { ... List&lt;Map&lt;String, Object&gt;&gt; list = new ArrayList&lt;Map&lt;String, Object&gt;&gt;(); Map&lt;String, Object&gt;...
  • 最近在做文本分析相关的实验,统计词频,情感度量许多数据预处理的工作要用到集合类的遍历,借这个机会也好好复习了一下JavaMapList的用法。1. Map遍历Map这种集合不能直接取出元素,必须要转换成Set,然后...
  • Map 集合的遍历List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等)都...
  • java遍历listmap集合

    2017-06-22 11:39:00
    import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * * ...
  • Java遍历ListMap时添加、删除元素

    千次阅读 2019-06-04 14:04:59
    本文主要演示遍历ListMap时的添加、删除元素操作。 关于List和Map相关的遍历问题,笔者已在《Java常用数据结构基础知识总结(二)》一文中做了简要介绍,如有需要的可以参考,此处不再赘述。 源码如下: 1.基于...
  • 以下是转载别人的日志,以方便自己以后使用,仅供自己学习之用。packagecom.jackey.topic;importjava.util.ArrayList;importjava.util....importjava.util.List;importjava.util.Map;importjava.util.Set;//循...
  • java遍历List 1、(性能最差) for(Stringtmp:list) { //System.out.println(tmp); } 2、(性能最好) for(inti=0;i<list.size();i++) { ...
  • Java遍历 ListMap 出现 ConcurrentModificationException 异常原因分析及解决方法 一、单线程 异常情况举例 只要抛出出现异常,可以肯定的是代码一定有错误的地方。先来看看都有哪些情况会出现...
  • 1、遍历list@Testpublic void testList() {List list = new ArrayList();list.add(1);list.add(2);System.out.println("-------------------list------------------");System.out.println("-------增强for循环list--...
  • public class T {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubList> list = new ArrayList&...Map m1 = new HashMap();m1.put("NAME", "北京");m1.put("STAT...
  • 遍历listmap 遍历map

    2016-04-27 16:23:22
    package excel; import java.util.ArrayList; import java.util.HashMap; ...import java.util.List;...import java.util.Map; public class List1 { public static void main(String[] a...
  • java8实现map遍历maplistlistmap

    万次阅读 2019-06-12 10:59:05
    遍历map map.forEach((k, v) -> System.out.println("key:value = " + k + ":" + v)); maplist map.entrySet().stream().map(e -> new Person(e.getKey(),e.getValue())).collect(Collectors....
  • List遍历 //List创建及初始化: List<String> strList = new ArrayList<>(); strList.add("aaa"); strList.add("bbb"); strList.add("ccc"); // 1. 普通遍历方式 for (int i = 0; i < strList....
  • Map遍历方法一 在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。Mapmap=newHashMap();for(Map.Entryentry:map.entrySet()){System.out.println("Key="+...
  • package JavaSenior; import java.util.ArrayList; import java.util.HashMap; ...import java.util.Iterator;...import java.util.Map; /** * * Set和List的区别 1. Set 接口实例存储的是无...
  • Java遍历List<Map, Object>>

    千次阅读 2018-04-22 23:11:00
    使用Java代码遍历,同时感谢原作者的整理与创作; // new 对象 List&lt;Map&lt;Object, Object&gt;&gt; list = new ArrayList&lt;Map&lt;Object, Object&gt;&gt;(); // 存数据...
  • 关于list,map,set的区别参考http://www.cnblogs.com/qlqwjy/p/7406573.html ...1.遍历list @Test public void testList() { List<Integer> list = new ArrayList<Integer>(); l...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,451
精华内容 980
关键字:

java遍历listmap

java 订阅