1. <s id="4jtld"></s>
    1. <span id="4jtld"><meter id="4jtld"></meter></span>

        <span id="4jtld"></span>
      1. <s id="4jtld"><noscript id="4jtld"><i id="4jtld"></i></noscript></s>
        溫馨提示×

        java集合框架及背后的數據結構有哪些

        發布時間:2023-03-23 17:25:47 來源:億速云 閱讀:92 作者:iii 欄目:開發技術

        今天小編給大家分享一下java集合框架及背后的數據結構有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

          1. 介紹

          Java 集合框架 Java Collection Framework ,又被稱為容器 container ,是定義在 java.util 包下的一組接口 interfaces 和其實現類 classes 。

          其主要表現為將多個元素 element 置于一個單元中,用于對這些元素進行快速、便捷的存儲 store 、檢索retrieve 、管理 manipulate ,即平時我們俗稱的增刪查改 CRUD 。

          例如,一副撲克牌(一組牌的集合)、一個郵箱(一組郵件的集合)、一個通訊錄(一組姓名和電話的映射關系)等等。

          類和接口總覽

          java集合框架及背后的數據結構有哪些

          java集合框架及背后的數據結構有哪些

          下面我們為大家初步指定三個小問題,希望大家在看完本文章后能對這三個問題有一個清晰的認識。

          1、了解清楚,接口和接口之間的關系。

          2、了解清楚,接口和類之間的關系。

          3、了解清楚,每個類背后的數據結構大概是個啥?

          2. 學習的意義

          2.1 Java 集合框架的優點及作用

          • 使用成熟的集合框架,有助于我們便捷、快速的寫出高效、穩定的代碼

          • 學習背后的數據結構知識,有助于我們理解各個集合的優缺點及使用場景

          2.2 筆試及面試題

          騰訊-Java后臺開發面經

          1. HashMap 了解不,介紹一下,如果一個對象為 key 時,hashCode 和 equals 方法的用法要注意什么?

          2. HashSet 和 HashMap 的區別是什么?

          3. HashMap 是線程安全的么?那需要線程安全需要用到什么?

          阿里巴巴-Java后臺開發面經

          1. ArrayList 和 LinkedList 的區別是什么?

          2. 有了解過 HashMap 的具體實現么?

          3. HashMap 和 ConcurrentHashMap 哪個效率更高?

          今日頭條-Java后臺開發面經

          1. 編程題:判斷一個鏈表是否是一個回文鏈表。

          2. Redis 的 zset 類型對應到 java 語言中大致是什么類型?

          3. hashCode 主要是用來做什么用的?

          3. 接口 interfaces

          3.1 基本關系說明

          java集合框架及背后的數據結構有哪些

          • 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 : 一組有序的鍵值對

          3.2 Collection 接口說明

          Collection 官方文檔

          3.3 Collection 常用方法說明

          java集合框架及背后的數據結構有哪些

          add方法演示:

          Collection<String> collection = new ArrayList<>();
          collection.add("xxh");

          java集合框架及背后的數據結構有哪些

          在沒規定前,collection的add方法中什么都可以添加。

          java集合框架及背后的數據結構有哪些

          而在規定了后,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);

          java集合框架及背后的數據結構有哪些

          這里不難看出在使用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

          java集合框架及背后的數據結構有哪些

          3.4 Collection 示例

          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());
          
              }
          }

          java集合框架及背后的數據結構有哪些

          3.5 Map 接口說明Map

          官方文檔

          3.6 Map 常用方法說明

          java集合框架及背后的數據結構有哪些

          3.7 Map 示例

          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());
                  }
              }
          }

          java集合框架及背后的數據結構有哪些

          4.實現'classes'

          java集合框架及背后的數據結構有哪些

          5.數據結構總知識點

          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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

          主題地圖

          欧美午夜理伦三级在线观看,欧美午夜乱伦片,欧美午夜乱色视频在线观看,欧美午夜免费一区二区,欧美午夜片欧美片在线观看