(转)java List多种遍历方式


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public static void main(String[] args) {
Map<String, Object> map = new LinkedHashMap<String,
Object>();
map.put( "username" , "wangking" );
map.put( "password" , "12345" );
map.put( "email" , "12345@qq.com" );
map.put( "sex" , "男" );
//第一种 用for循环的方式
for (Map.Entry<String, Object> m :map.entrySet())  {
System.out.println(m.getKey()+ "\t" +m.getValue());
}
//利用迭代 (Iterator)
Set set=map.entrySet();
Iterator iterator=set.iterator();
while (iterator.hasNext()){
Map.Entry<String, Object> enter=(Entry<String, Object>)
iterator.next();
System.out.println(enter.getKey()+ "\t" +enter.getValue());
}
//利用KeySet 迭代
Iterator it = map.keySet().iterator();
while (it.hasNext()){
String key;  
   String value;  
   key=it.next().toString();  
   value=(String) map.get(key);  
   System.out.println(key+ "--" +value);  
}
//利用EnterySet迭代
Iterator i=map.entrySet().iterator();     
System.out.println( map.entrySet().size());  
String key;     
String value;  
while (i.hasNext()){  
     Map.Entry entry = (Map.Entry)i.next();     
     key=entry.getKey().toString();     
     value=entry.getValue().toString();     
     System.out.println(key+ "====" +value);          
System.out.println(getKeyByValue(map, "zhaokuo" ));
}
public static String getKeyByValue(Map map, Object value) {
String keys= "" ;
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Entry) it.next();
Object obj = entry.getValue();
if (obj != null && obj.equals(value)) {
keys=(String) entry.getKey();
}
  
}
return keys;
}

  2.

?
1
2
3
4
5
6
7
Map<String,String> map= new HashMap<String,String>();
     map.put( "1" , "hello" );
     map.put( "2" , "name" );
     map.put( "3" , "tom" );
     for (String key:map.keySet()){
         System.out.println( "value值为:" +map.get(key));
     }

  3.

?
1
2
3
4
5
6
7
8
9
10
Map map= new HashMap();
     map.put( "1" , "hello" );
     map.put( "2" , "name" );
     map.put( "3" , "tom" );
     Object obj= new Object();
     String wa;
     obj=map.get( "1" );
     wa=(String) map.get( "2" );
     System.out.println(obj);
     System.out.println(wa);

  List<Map>遍历方法

复制代码
List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
            Map<String,Object> map1 = new HashMap<String, Object>();
            List<String> list1 = new ArrayList<String>();
            List<String> list2 = new ArrayList<String>();
            List<String> list3 = new ArrayList<String>();
            List<String> list4 = new ArrayList<String>();
            list1.add("添加的Object-->a");
            list2.add("添加的Object-->b");
            list3.add("添加的Object-->c");
            list4.add("添加的Object-->d");
        map1.put(</span>"a"<span style="color: #000000;">,list1);
        map1.put(</span>"b"<span style="color: #000000;">,list2);
        list.add(map1);

        Map</span>&lt;String,Object&gt; map2 = <span style="color: #0000ff;">new</span> HashMap&lt;String, Object&gt;<span style="color: #000000;">();
        map2.put(</span>"c"<span style="color: #000000;">,list3);
        map2.put(</span>"d"<span style="color: #000000;">,list4);
        list.add(map2);

        </span><span style="color: #0000ff;">for</span> (Map&lt;String,Object&gt;<span style="color: #000000;"> map:list
             ) {
            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (String s:map.keySet()
                 ) {
                System.out.print(</span>"key:"+s+"\t"<span style="color: #000000;">);
                System.out.println(</span>"value:"+<span style="color: #000000;">map.get(s));
            }
        }
        System.out.println(</span>"======================华丽的分割线============================="<span style="color: #000000;">);
        </span><span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">int</span> i = 0; i &lt; list.size(); i++<span style="color: #000000;">) {
            Map</span>&lt;String, Object&gt; map =<span style="color: #000000;"> list.get(i);
            Iterator it </span>=<span style="color: #000000;"> map.keySet().iterator();
            </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> (it.hasNext()) {
                String str </span>=<span style="color: #000000;"> (String) it.next();
                System.out.print(</span>"key:"+str+"\t"<span style="color: #000000;">);
                System.out.println(</span>"value:"+<span style="color: #000000;">map.get(str));
            }
        }
        System.out.println(</span>"========================华丽的分割线================================"<span style="color: #000000;">);

        </span><span style="color: #0000ff;">for</span> (Map&lt;String, Object&gt;<span style="color: #000000;"> map : list) {
            </span><span style="color: #0000ff;">for</span> (Map.Entry&lt;String, Object&gt;<span style="color: #000000;"> m : map.entrySet()) {
                System.out.print(</span>"key:"+m.getKey() + "    "<span style="color: #000000;">);
                System.out.println(</span>"value:"+<span style="color: #000000;">m.getValue());
            }
        }</span></pre>
复制代码

下面这个是运行结果:

复制代码
key:a   value:[添加的Object-->a]
key:b   value:[添加的Object-->b]
key:c   value:[添加的Object-->c]
key:d   value:[添加的Object-->d]
======================华丽的分割线=============================
key:a   value:[添加的Object-->a]
key:b   value:[添加的Object-->b]
key:c   value:[添加的Object-->c]
key:d   value:[添加的Object-->d]
========================华丽的分割线================================
key:a    value:[添加的Object-->a]
key:b    value:[添加的Object-->b]
key:c    value:[添加的Object-->c]
key:d    value:[添加的Object-->d]
复制代码

 

JAVA修炼塔,技术世界的探知与交流,欢迎你的加入-----群号:535296702
分类: 工具类
0
0
« 上一篇: (转)java bean、List、数组、map和Json的相互转化
» 下一篇: (转)Java map 详解 - 用法、遍历、排序、常用API等
	</div>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM