您好,登錄后才能下訂單哦!
今天小編給大家分享一下java集合框架及背后的數據結構有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
Java 集合框架 Java Collection Framework ,又被稱為容器 container ,是定義在 java.util 包下的一組接口 interfaces 和其實現類 classes 。
其主要表現為將多個元素 element 置于一個單元中,用于對這些元素進行快速、便捷的存儲 store 、檢索retrieve 、管理 manipulate ,即平時我們俗稱的增刪查改 CRUD 。
例如,一副撲克牌(一組牌的集合)、一個郵箱(一組郵件的集合)、一個通訊錄(一組姓名和電話的映射關系)等等。
類和接口總覽
下面我們為大家初步指定三個小問題,希望大家在看完本文章后能對這三個問題有一個清晰的認識。
1、了解清楚,接口和接口之間的關系。
2、了解清楚,接口和類之間的關系。
3、了解清楚,每個類背后的數據結構大概是個啥?
使用成熟的集合框架,有助于我們便捷、快速的寫出高效、穩定的代碼
學習背后的數據結構知識,有助于我們理解各個集合的優缺點及使用場景
騰訊-Java后臺開發面經
HashMap 了解不,介紹一下,如果一個對象為 key 時,hashCode 和 equals 方法的用法要注意什么?
HashSet 和 HashMap 的區別是什么?
HashMap 是線程安全的么?那需要線程安全需要用到什么?
阿里巴巴-Java后臺開發面經
ArrayList 和 LinkedList 的區別是什么?
有了解過 HashMap 的具體實現么?
HashMap 和 ConcurrentHashMap 哪個效率更高?
今日頭條-Java后臺開發面經
編程題:判斷一個鏈表是否是一個回文鏈表。
Redis 的 zset 類型對應到 java 語言中大致是什么類型?
hashCode 主要是用來做什么用的?
1.1. Collection :用來存儲管理一組對象 objects ,這些對象一般被成為元素 elements
2.1.1. Set : 元素不能重復,背后隱含著查找/搜索的語義
2.1.1. SortedSet : 一組有序的不能重復的元素
3.2. List : 線性結構
4.3. Queue : 隊列
5.4. Deque : 雙端隊列
3.2. Map : 鍵值對 Key-Value-Pair ,背后隱含著查找/搜索的語義
4.1.1. SortedMap : 一組有序的鍵值對
Collection 官方文檔
add方法演示:
Collection<String> collection = new ArrayList<>(); collection.add("xxh");
在沒規定前,collection的add方法中什么都可以添加。
而在規定了后,collection的add方法就只能添加字符串了。
clear方法演示:
Collection<String> collection = new ArrayList<>(); collection.add("xxh"); collection.add("ljq"); System.out.println(collection); collection.clear(); System.out.println("=============="); System.out.println(collection);
這里不難看出在使用clear方法清除后,我們的元素就全部清空了
Object[] toArray()方法演示:
Collection<String> collection = new ArrayList<>(); collection.add("xxh"); collection.add("ljq"); //System.out.println(collection); Object[] objects = collection.toArray(); System.out.println(Arrays.toString(ob
import java.util.Collection; import java.util.ArrayList; import java.util.Arrays; public class TestDemo { public static void main(String[] args) { Collection<String> list = new ArrayList<>(); System.out.println(list.size()); System.out.println(list.isEmpty()); list.add("我"); list.add("愛"); list.add("Java"); System.out.println(list.size()); System.out.println(list.isEmpty()); Object[] array = list.toArray(); System.out.println(Arrays.toString(array)); for (String s : list) { System.out.println(s); } list.remove("愛"); for (String s : list) { System.out.println(s); } list.clear(); System.out.println(list.size()); System.out.println(list.isEmpty()); } }
官方文檔
import java.util.Map; import java.util.HashMap; public class TestDemo { public static void main(String[] args) { Map<String, String> map = new HashMap<>(); System.out.println(map.size()); System.out.println(map.isEmpty()); System.out.println(map.get("作者")); System.out.println(map.getOrDefault("作者", "佚名")); System.out.println(map.containsKey("作者")); System.out.println(map.containsValue("佚名")); map.put("作者", "魯迅"); map.put("標題", "狂人日記"); map.put("發表時間", "1918年"); System.out.println(map.size()); System.out.println(map.isEmpty()); System.out.println(map.get("作者")); System.out.println(map.getOrDefault("作者", "佚名")); System.out.println(map.containsKey("作者")); System.out.println(map.containsValue("佚名")); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); } } }
1.集合框架的使用
2.1.Collection
2.List
3.ArrayList
4.LinkedList
5.Stack
6.Queue
7.PriorityQueue
8.Deque
9.Set
10.HashSet
11.TreeSet
12.Map
13.HashMap
14.TreeMap
15.Collections
3.數據結構的理論及實現
4.1.順序表
2.鏈表
3.棧
4.隊列
5.二叉樹
6.堆
5.排序算法
6.1. 插入排序
2. 希爾排序
3. 選擇排序
4. 堆排序
5. 冒泡排序
6. 快速排序
7. 歸并排序
7.Java 語法
8.1. 泛型 Generic
2. 自動裝箱 autobox 和自動拆箱 autounbox
3. Object 的 equals 方法
4. Comparable 和 Comparator 接口
以上就是“java集合框架及背后的數據結構有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。