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

來源:互聯網
上載者:User

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的使用知識,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.