日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单双列集合总述

發布時間:2023/12/3 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单双列集合总述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Collection[單列集合]接口

有List 和 Set子接口 和Map接口[雙列集合]并列
**1.**List接口 實現類:ArrayList 和 LinkedList ;特點:有序,可重復,有對索引的增刪改查相對操作的方法
a.ArrayList:底層為數組 查詢快[根據地址和索引查找],增刪慢
b.LinkedList:底層為鏈表 查詢慢,增刪快[直接修改地址指向]
**2.**Set接口 實現類:TreeSet 和 HashSet ;特點:無序,不可重復,沒有特有方法,全部繼承父類
a.TreeSet:底層為紅黑樹:會自動排序,需要指定排序順序,有兩種方式指定
(1)實現Comparable接口,重寫compareTo方法
(2)創建比較器Collator,重寫compare方法
b.HashSet:底層為哈希表【鏈表,數組,[鏈表滿8為]紅黑樹】hashCode方法
默認比較地址值,可重寫equals方法和hashCode方法比較屬性,保持元素的唯一性

附圖:

Map[雙列集合]接口

實現類有TreeMap 和 HashMap
**1.**TreeMap:底層為紅黑樹會自動對鍵排序,需要指定排序順序,有兩種方式指定
(1)實現Comparable接口,重寫compareTo方法
(2)創建比較器Comparator,重寫compare方法
**2.**HashSet:底層為哈希表【鏈表,數組,[鏈表滿8為]紅黑樹】hashCode方法
默認比較地址值,可重寫鍵的equals方法和鍵的hashCode方法比較鍵的屬性,保持元素的唯一性

【HashSet,HashTree不能對其進行排序,只能打印出來的時候排序】

附圖:

集合中的可變參數及初始化賦值

可變參數
//定義一個方法求n個數的和 public class Demo1 {public static void main(String[] args) {int sum = getSum(1, 2, 3, 4, 5);System.out.println(sum);}//參數使用可變參數,如果有并列參數,則需要放在最后private static int getSum(int number,int... arr) {int sum = 0;//number="10";//賦值無效,不能應用于測試類for (int t : arr) {sum += t;}return sum;} }打印結果: ---------------------------------------------------------- 14
初始化賦值
// 集合批量添加元素方法 public class Demo2 {public static void main(String[] args) {//List of 集合批量添加元素方法[固定集合,不可再往其中添加元素]//List集合List<String> list = List.of("a", "b", "c", "d", "e");//底存集合不可變//Set集合//傳遞的參數當中不能有重復,否則運行報錯[參數非法添加異常]Set<String> set = Set.of("a", "b", "c", "d", "e");//Map集合//傳遞的參數鍵當中不能有重復,否則運行報錯[參數非法添加異常]Map<String, String> map1 = Map.of("zhangsan", "江蘇", "lisi", "上海");//of Entries提高閱讀性,它會將鍵和值封裝成鍵值對Map<String, String> map2 = Map.ofEntries(Map.entry("zhangsan","江蘇"),Map.entry("lisi","上海"));//可結合集合的帶參構造,實現集合的初始化,之后可繼續添加元素ArrayList<String> list1 = new ArrayList<>(list);//接收的集合泛型范圍要大于List.ofArrayList<Integer> list2 = new ArrayList<>(List.of(5,4,3,2,1));System.out.println(list1);System.out.println(list2);} } 打印結果: -------------------------------------------------------------------- [a, b, c, d, e] [5, 4, 3, 2, 1]

注:【集合存儲的都是引用數據類型】

總結

以上是生活随笔為你收集整理的单双列集合总述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。