當前位置:首頁 » 服務存儲 » 匯編的list存儲格式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

匯編的list存儲格式

發布時間: 2022-12-27 16:49:44

『壹』 資料庫中用什麼類型存儲List

List類型本身是可以存放任何對象的,也就是只要是數據都可以存儲的。
如:List.add(new Object());這個語句是不會報錯的。由於Object是任何對象的父類,所以任何的子對象都是可以被List通過add方法進行存放的。

『貳』 list,map,set三個介面存儲元素時各有什麼特點

(一)List

1、可以允許重復的對象。

2、可以插入多個null元素。

3、是一個有序容器,保持了每個元素的插入順序,輸出的順序就是插入的順序。

4、常用的實現類有ArrayList、LinkedList 和 Vector。ArrayList 最為流行,它提供了使用索引的隨意訪問,而 LinkedList 則對於經常需要從 List 中添加或刪除元素的場合更為合適。

(二)Set

1、不允許重復對象。

2、無序容器,你無法保證每個元素的存儲順序,TreeSet通過 Comparator 或者 Comparable。

3、只允許一個 null 元素。

4、Set 介面最流行的幾個實現類是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基於 HashMap 實現的 HashSet。

(三)map

1、Map不是collection的子介面或者實現類。Map是一個介面。

2、Map 的 每個 Entry 都持有兩個對象,也就是一個鍵一個值,Map 可能會持有相同的值對象但鍵對象必須是唯一的。

3.、TreeMap 也通過 Comparator 或者 Comparable 維護了一個排序順序。

4.、Map 里你可以擁有隨意個 null 值但最多隻能有一個 null 鍵。

5、Map 介面最流行的幾個實現類是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)。

(2)匯編的list存儲格式擴展閱讀

list和set、map之間的轉化方式:

1、list轉成set集合

Set<Student>

studentSet=studentList.stream().map(Student::getId).collect(Collectors.toSet());

2、list轉成map

Map<String,Student>

studentMap=studentList.stream().collect(Collectors.toMap(Student::getId,a -> a,(k1,k2)->k1));

3、list轉成map並且根據student中的name進行分組

Map<String,List<Student>>

group=studentList.stream().collect(Collectors.groupingBy(Student::getName));