国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Java中list,set,map的遍歷與增強for循環

詳解Java中list,set,map的遍歷與增強for循環

2020-08-05 11:38JAVA之家 Java教程

這篇文章主要介紹了詳解Java中list,set,map的遍歷與增強for循環的相關資料,需要的朋友可以參考下

詳解Javalist,set,map遍歷與增強for循環

Java集合類可分為三大塊,分別是從Collection接口延伸出的List、Set和以鍵值對形式作存儲的Map類型集合。

關于增強for循環,需要注意的是,使用增強for循環無法訪問數組下標值,對于集合的遍歷其內部采用的也是Iterator的相關方法。如果只做簡單遍歷讀取,增強for循環確實減輕不少的代碼量。

集合概念:

1.作用:用于存放對象
2.相當于一個容器,里面包含著一組對象,其中的每個對象作為集合的一個元素出現
3.java的容器有集合類和數組,不同之處是

區別及其常用實現類

List接口:

列表有序 元素可重復

實現類:ArrayList:動態數組列表

LinkedList:雙向鏈表

Set接口:

集無序,元素不可重復

實現類:HashSet:散列集

TreeSet:樹集 內部排序

Map接口:

以鍵值對的方式存儲數據 數據-鍵不允許重復

實現類:HashSet:散列集

TreeSet:樹集 內部排序

JDK1.0出現的集合類都是線程安全的,但效率低

JDK1.2出現的集合類都不是線程安全的,但效率高

代碼示例如下:

?
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
 
public class ListAndSet{
 
  public static void main(String[] args) {
    setTest();
    listTest();
  }
  // 遍歷Set集合
  private static void setTest() {
    Set<string> set = new HashSet<string>();
    set.add("A");
    set.add("B");
    set.add("C"); 
    set.add("D");
    set.add("E");
 
    //set集合遍歷方法1:使用iterator
    Iterator<string> it = set.iterator();
    while (it.hasNext()) {
      String value = it.next();
      System.out.println(value);
    }
 
    //set集合遍歷方法2:使用增強for循環。
    for(String s: set){
      System.out.println(s);
    }
  }
 
  // 遍歷list集合
  private static void listTest() {
    List<string> list = new ArrayList<string>();
    list.add("111");
    list.add("222");
    list.add("333");
    list.add("444");
    list.add("555");
 
    // 遍歷方式1:使用iterator
    Iterator<string> it = list.iterator();
    while (it.hasNext()) {
      String value = it.next();
      System.out.println(value);
    }
 
    // 遍歷方法2:使用傳統for循環進行遍歷。
    for (int i = 0, size = list.size(); i < size; i++) {
      String value = list.get(i);
      System.out.println(value);
    }
 
    // 遍歷方法3:使用增強for循環進行遍歷。
    for (String value : list) {
      System.out.println(value);
    }
  }
}
 
//關于Map類型集合的遍歷,keySet()與entrySet()方法
//增強For循環
public class Map{
 
  public static void main(String[] args) {
    // 創建一個HashMap對象,并加入了一些鍵值對。
    Map<string, string=""> maps = new HashMap<string, string="">();
    maps.put("111", "111");
    maps.put("222", "222");
    maps.put("333", "333");
    maps.put("444", "444");
    maps.put("555", "555");
 
    // 傳統的遍歷map集合的方法1; keySet()
    //traditionalMethod1(maps);
    // 傳統的遍歷map集合的方法2; entrySet()
    //traditionalMethod2(maps);
    // 使用增強For循環來遍歷map集合方法1; keySet()
    //strongForMethod1(maps);
    // 使用增強For循環來遍歷map集合方法2; entrySet()
    strongForMethod2(maps);
  }
 
  private static void strongForMethod2(Map<string, string=""> maps) {
    Set<entry<string, string="">> set = maps.entrySet();
    for (Entry<string, string=""> entry : set) {
      String key = entry.getKey();
      String value = entry.getValue();
      System.out.println(key + " : " + value);
    }
  }
 
  private static void strongForMethod1(Map<string, string=""> maps) {
    Set<string> set = maps.keySet();
    for (String s : set) {
      String key = s;
      String value = maps.get(s);
      System.out.println(key + " : " + value);
    }
  }
 
  // 使用entrySet()方法,獲取maps集合中的每一個鍵值對,
  private static void traditionalMethod2(Map<string, string=""> maps) {
    Set<map.entry<string, string="">> sets = maps.entrySet();
    // 取得迭代器遍歷出對應的值。
    Iterator<entry<string, string="">> it = sets.iterator();
    while (it.hasNext()) {
      Map.Entry<string, string=""> entry = (Entry<string, string="">) it.next();
      String key = entry.getKey();
      String value = entry.getValue();
      System.out.println(key + " : " + value);
    }
  }
 
  // 使用keySet()方法,獲取maps集合中的所有鍵,遍歷鍵取得所對應的值。
  private static void traditionalMethod1(Map<string, string=""> maps) {
    Set<string> sets = maps.keySet();
    // 取得迭代器遍歷出對應的值。
    Iterator<string> it = sets.iterator();
    while (it.hasNext()) {
      String key = it.next();
      String value = maps.get(key);
      System.out.println(key + " : " + value);
    }
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://www.2cto.com/kf/201702/596383.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产中文在线观看 | 美女视频一区 | 欧美区国产 | 亚洲一区在线日韩在线深爱 | 国产成人精品久久二区二区91 | 在线观看亚洲 | 亚洲国产视| 国产激情在线观看 | av国产精品 | 一级免费网站 | 亚洲综合婷婷 | 国产在线观看一区二区三区 | 国产精品区一区二区三区 | 国产精品久久久久无码av | 五月天一区二区 | 91在线综合 | 伊人精品在线 | 精品一区二区三区在线观看 | 国产精品一区二区三区免费 | 欧美在线a| 久久久久久成人 | 伊人一区二区三区 | av网站推荐 | 亚洲一区在线视频 | 亚洲精品高潮呻吟久久av | 成人日韩视频在线观看 | www.一区 | 欧美午夜一区二区三区免费大片 | 黄色三及毛片 | 国产精品亚洲a | 黄久久久 | 精品国产91亚洲一区二区三区www | 日韩在线视频观看 | 日韩 欧美 中文 | 免费的黄色网 | 日韩精品视频在线 | 精品成人国产在线观看男人呻吟 | 国产精品三区在线 | 99久久婷婷国产精品综合 | 国产精品网站在线观看 | 欧美日韩中文字幕 |