大佬理解->Java集合之ArrayList 1、ArrayList的特點 存放的元素有序 元素不唯一(可以重覆) 隨機訪問快 插入刪除元素慢 非線程安全 2、底層實現 底層初始化,使用一個Object類型的空對象數組,初始長度為0; 源碼 //Object類型對象數組引用 transient Ob ...
轉自:
http://www.java265.com/JavaCourse/202206/3734.html
Google guava簡介:
1、Guava 是一組來自 Google 的核心 Java 庫,包括新的集合類型(如 multimap 和 multiset)、不可變集合、圖形庫以及用於併發、I/O、散列、緩存、原語、字元串等的實用程式!被廣泛應用於 Google 的大多數 Java 項目中,也被許多其他公司廣泛使用。
2、guava github 開源地址:GitHub - google/guava: Google core libraries for Java
3、官網用戶手冊:https://github.com/google/guava/wiki
4、引入com.google.guava 依賴的方法:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
</dependency>
下文筆者講述google guava創建集合的方法分享,如下所示
實現思路: 只需使用 newArrayList,newHashSet,newHashMap ImmutableList,ImmutableSet,ImmutableMap 即可創建不可變集合 註意事項: immutable的英文含義為:不可變,其具有以下特點: 1.在多線程操作下,是線程安全的 2.所有不可變集合會比可變集合更有效的利用資源。 3.中途不可改變
例:
package com.java265.testmaven; import java.util.List; import java.util.Map; import java.util.Set; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; public class TestGuava { /** * java265.com * guava示例分享 * */ public static void main(String[] args) { List<String> list = Lists.newArrayList(); Set<String> set = Sets.newHashSet(); Map<String, String> map = Maps.newHashMap(); ImmutableList<String> iList = ImmutableList.of("java265.com-1", "java265.com-2", "java265.com-3"); ImmutableSet<String> iSet = ImmutableSet.of("java265.com-1", "java265.com-2"); ImmutableMap<String, String> iMap = ImmutableMap.of("java265.com-1", "java265.com-2", "java265.com-3", "java265.com-4"); } }