一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 一段代碼搞懂關于Java中List、Set集合及Map的使用

一段代碼搞懂關于Java中List、Set集合及Map的使用

2020-06-02 11:31我不看我不看 JAVA教程

這篇文章主要介紹了關于Java中List、Set集合及Map的使用及list,set和map三者的區別介紹,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

Java中List、Set集合及Map的使用代碼如下所示:

?
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
package tingjizifu;
import java.util.*;
public class TongJi {
/*
* 使用Scanner從控制臺讀取一個字符串,統計字符串中每個字符出現的次數,要求使用學習過的知識完成以上要求
* 實現思路根據Set、List、Map集合的特性完成。
*/
public static void main(String[] args) {
// 輸入字符串
Scanner input = new Scanner(System.in);
String shuRu = input.next();
// 把字符串字符裝入List集合
List<String> list = new ArrayList<String>();
for (int i = 0; i < shuRu.length(); i++) {
list.add(String.valueOf(shuRu.charAt(i)));
}
// 把字符串字符裝入Set集合
Set<String> set = new HashSet<String>();
for (int i = 0; i < shuRu.length(); i++) {
set.add(String.valueOf(shuRu.charAt(i)));
}
// 用Set中的字符與List中的字符進行比較,相同就加1進行計數,
// 然后把Set集合中的字符作為鍵(key),統計的數作為值(value),最后打印出Map中的數據
Map<String, Integer> map = new HashMap<String, Integer>();
for (String str : set) {
int sum = 0;
// System.out.println(str);
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals(str)) {
sum++;
}
}
map.put(str, sum);
}
Set<String> ss = map.keySet();
for (String str : ss) {
System.out.println(str + "出現次數為" + map.get(str) + "次");
}
input.close();
}
}

下面看下set map list的區別 

都是集合接口

  set --其中的值不允許重復,無序的數據結構
  list   --其中的值允許重復,因為其為有序的數據結構
  map--成對的數據結構,健值必須具有唯一性(鍵不能同,否則值替換) 

List 按對象進入的順序保存對象,不做排序或編輯操作。

Set對每個對象只接受一次,并使用自己內部的排序方法(通常,你只關心某個元素是否屬于Set,而不關心它的順序--否則應該使用List)。

Map同樣對每個元素保存一份,但這是基于"鍵"的,Map也有內置的排序,因而不關心元素添加的順序。如果添加元素的順序對你很重要,應該使用 LinkedHashSet或者LinkedHashMap.

Collection 是對象集合, Collection 有兩個子接口 List 和 Set

List 可以通過下標 (1,2..) 來取得值,值可以重復

而 Set 只能通過游標來取值,并且值是不能重復的

ArrayList , Vector , LinkedList 是 List 的實現類

 ArrayList 是線程不安全的, Vector 是線程安全的,這兩個類底層都是由數組實現的

 LinkedList 是線程不安全的,底層是由鏈表實現的  

Map 是鍵值對集合

HashTable 和 HashMap 是 Map 的實現類

HashTable 是線程安全的,不能存儲 null 值

HashMap 不是線程安全的,可以存儲 null 值

以上所述是小編給大家介紹的關于Java中List、Set集合及Map的使用知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/liuqingzi/archive/2016/08/05/5740816.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 无人区乱码1区2区3区网站 | 天天爽天天干天天操 | 成人在线观看视频免费 | 亚洲成人精品久久 | 亚洲国产成人资源在线桃色 | 青草视频免费观看在线观看 | 花唇肿胀无法合拢双性 | 亚洲国产欧美在线成人aaaa | 狠狠色狠狠色综合系列 | 亚洲欧美日韩国产综合专区 | 日本三级成人中文字幕乱码 | 欧美成人乱弄视频 | 成人高清网站 | 91精品啪在线观看国产日本 | 欧美一区二区三区精品影视 | 激情六月丁香婷婷四房播 | 四虎精品永久免费 | 欧美成人tv | 国产偷啪视频一区 | 福利一区福利二区 | freesex 18 19处xx| 国产日韩欧美在线一区二区三区 | 男人晚上适合偷偷看的污污 | 久久AV喷吹AV高潮欧美 | 手机看片国产免费久久网 | 国产精品nv在线观看 | 女女性恋爱视频入口 | 亚洲国产成人超福利久久精品 | 精品国产日韩亚洲一区在线 | 国产精品美女久久久久网站 | 男人插女人软件 | 亚洲色图150p | 午夜福利在线观看6080 | 香蕉免费一区二区三区 | 久久精品AV一区二区无码 | 欧美一区a | 99精品影视| 99热这里只有精品在线播放 | 国产精品成人免费福利 | 国产成人yy精品1024在线 | 99精品视频免费在线观看 |