程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 一段代碼弄懂關於Java中List、Set聚集及Map的應用

一段代碼弄懂關於Java中List、Set聚集及Map的應用

編輯:關於JAVA

一段代碼弄懂關於Java中List、Set聚集及Map的應用。本站提示廣大學習愛好者:(一段代碼弄懂關於Java中List、Set聚集及Map的應用)文章只能為提供參考,不一定能成為您想要的結果。以下是一段代碼弄懂關於Java中List、Set聚集及Map的應用正文


Java中List、Set聚集及Map的應用代碼以下所示:

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的應用常識,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved