精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java中常見的數據結構及示例講解

開發
一起來了解一下Java中常見的數據結構及示例講解都有哪些。

Java中常見的數據結構包括以下幾種:

1.數組(Array):是一種線性數據結構,用于存儲相同類型的元素,通過索引訪問和修改元素。

2.鏈表(Linked List):也是一種線性數據結構,由節點組成,每個節點包含數據和指向下一個節點的引用。

3.棧(Stack):是一種后進先出(LIFO)的數據結構,只能在棧頂進行插入和刪除操作。

4.隊列(Queue):是一種先進先出(FIFO)的數據結構,可以在隊尾插入元素,在隊頭刪除元素。

5.哈希表(HashMap):是一種使用鍵-值對存儲數據的數據結構,通過哈希函數將鍵映射到一個索引,可以快速訪問和修改數據。

6.集合(Set):是一種不允許重復元素的數據結構,常見的實現類有HashSet和TreeSet。

7.列表(List):是一種有序的數據結構,允許重復元素,常見的實現類有ArrayList和LinkedList。

8.樹(Tree):是一種非線性數據結構,由節點和邊組成,每個節點可以有多個子節點,常見的實現有二叉樹、AVL樹等。

9.圖(Graph):是一種由節點和邊組成的非線性數據結構,節點之間可以有多個連接關系。

10.堆(Heap):是一種特殊的樹形數據結構,用于高效地找到最大或最小值。

除了上述常見的數據結構,Java還提供了許多其他數據結構的實現,如優先隊列、雙向鏈表、散列表等,可以根據具體的需求選擇適合的數據結構。

接下來,我門通過一些示例代碼來介紹這些常見的數據結構。下面是一些簡單的示例代碼:

1.數組(Array):

int[] numbers = new int[5]; // 創建一個長度為5的整型數組
numbers[0] = 1; // 設置第一個元素的值為1
int element = numbers[2]; // 獲取第三個元素的值
System.out.println(element); // 輸出結果:0(默認值,因為沒有賦值)

2.鏈表(Linked List):

// 創建鏈表節點
class ListNode {
    int value;
    ListNode next;
    ListNode(int value) {
        this.value = value;
        this.next = null;
    }
}




// 創建鏈表
ListNode head = new ListNode(1); // 頭節點
ListNode node2 = new ListNode(2);
ListNode node3 = new ListNode(3);




head.next = node2;
node2.next = node3;




// 遍歷鏈表
ListNode current = head;
while (current != null) {
    System.out.println(current.value);
    current = current.next;
}

3.棧(Stack):

import java.util.Stack;
Stack<Integer> stack = new Stack<>();
stack.push(1); // 添加元素到棧頂
stack.push(2);
stack.push(3);




int topElement = stack.peek(); // 獲取棧頂元素(不移除)
System.out.println(topElement); // 輸出結果:3




int poppedElement = stack.pop(); // 彈出棧頂元素
System.out.println(poppedElement); // 輸出結果:3

4.隊列(Queue):

import java.util.LinkedList;
import java.util.Queue;


Queue<Integer> queue = new LinkedList<>();
queue.offer(1); // 添加元素到隊尾
queue.offer(2);
queue.offer(3);


int frontElement = queue.peek(); // 獲取隊頭元素(不移除)
System.out.println(frontElement); // 輸出結果:1
int dequeuedElement = queue.poll(); // 出隊隊頭元素
System.out.println(dequeuedElement); // 輸出結果:1

當談到哈希和集合這兩個概念時,通常會涉及到哈希表和集合數據結構。

5.哈希表(Hash Table)示例:

import java.util.HashMap;


HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("apple", 1);   // 向哈希表中插入鍵值對
hashMap.put("banana", 2);
hashMap.put("orange", 3);


int value = hashMap.get("banana");  // 通過鍵獲取對應的值
System.out.println(value);  // 輸出結果:2


boolean containsKey = hashMap.containsKey("apple");  // 檢查哈希表中是否包含某個鍵
System.out.println(containsKey);  // 輸出結果:true


hashMap.remove("orange");  // 移除指定鍵的鍵值對


for (String key : hashMap.keySet()) {
    int val = hashMap.get(key);
    System.out.println(key + ": " + val);
}

在上面的例子中,我們使用HashMap類來實現哈希表。我們插入了幾個鍵值對,然后通過鍵來獲取對應的值,檢查是否存在某個鍵,并移除指定鍵的鍵值對。還展示了如何遍歷哈希表的鍵集合,并獲取每個鍵對應的值。

6.集合(Set)示例:

import java.util.HashSet;


HashSet<Integer> set = new HashSet<>();
set.add(1);   // 向集合中添加元素
set.add(2);
set.add(3);


boolean contains = set.contains(2);  // 檢查集合中是否包含某個元素
System.out.println(contains);  // 輸出結果:true


set.remove(3);  // 從集合中移除指定元素


for (Integer num : set) {
    System.out.println(num);
}

在上面的例子中,我們使用HashSet類來實現集合。我們添加了一些元素,檢查集合是否包含某個元素,并移除指定的元素。還展示了如何迭代集合中的元素并進行輸出。

哈希表和集合是常用的數據結構,它們提供了高效的存儲和查找操作。通過使用哈希函數來計算鍵的散列值,它們能夠快速地定位和訪問元素。在實際編程中,你可以根據具體的需求選擇使用適當的哈希表或集合實現類,并根據需要調用相應的方法

7.樹(Tree)示例:

BinarySearchTree:
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;




    public TreeNode(int val) {
        this.val = val;
        this.left = null;
        this.right = null;
    }
}




class BinarySearchTree {
    private TreeNode root;




    public void insert(int val) {
        root = insertNode(root, val);
    }




    private TreeNode insertNode(TreeNode node, int val) {
        if (node == null) {
            return new TreeNode(val);
        }




        if (val < node.val) {
            node.left = insertNode(node.left, val);
        } else if (val > node.val) {
            node.right = insertNode(node.right, val);
        }




        return node;
    }




    public boolean search(int val) {
        return searchNode(root, val);
    }




    private boolean searchNode(TreeNode node, int val) {
        if (node == null) {
            return false;
        }




        if (val == node.val) {
            return true;
        } else if (val < node.val) {
            return searchNode(node.left, val);
        } else {
            return searchNode(node.right, val);
        }
    }
}


BinarySearchTree bst = new BinarySearchTree();
bst.insert(5);
bst.insert(2);
bst.insert(8);
bst.insert(1);




System.out.println(bst.search(2)); // 輸出結果:true,搜索值為2的節點
System.out.println(bst.search(10)); // 輸出結果:false,搜索值為10的節點

8.圖(Graph)示例:

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;




class Graph {
    private int vertices; // 圖中的頂點數
    private List<List<Integer>> adjacencyList; // 鄰接表表示圖




    public Graph(int vertices) {
        this.vertices = vertices;
        adjacencyList = new ArrayList<>(vertices);
        for (int i = 0; i < vertices; i++) {
            adjacencyList.add(new ArrayList<>());
        }
    }




    public void addEdge(int source, int destination) {
        adjacencyList.get(source).add(destination);
        adjacencyList.get(destination).add(source);
    }




    public void breadthFirstSearch(int startVertex) {
        boolean[] visited = new boolean[vertices];
        Queue<Integer> queue = new LinkedList<>();




        visited[startVertex] = true;
        queue.offer(startVertex);




        while (!queue.isEmpty()) {
            int currentVertex = queue.poll();
            System.out.print(currentVertex + " ");




            List<Integer> neighbors = adjacencyList.get(currentVertex);
            for (int neighbor : neighbors) {
                if (!visited[neighbor]) {
                    visited[neighbor] = true;
                    queue.offer(neighbor);
                }
            }
        }
    }
}




Graph graph = new Graph(6);
graph.addEdge(0, 1);
graph.addEdge(0, 2);
graph.addEdge(1, 3);
graph.addEdge(2, 4);
graph.addEdge(3, 5);




graph.breadthFirstSearch(0); // 從頂點0開始進行廣度優先搜索

在上面的例子中,我們創建了一個簡單的圖,并使用鄰接表來表示圖的結構。然后,我們實現了廣度優先搜索算法來遍歷圖中的頂點。

9.堆(Heap)示例:

import java.util.PriorityQueue;


PriorityQueue<Integer> minHeap = new PriorityQueue<>(); // 創建一個最小堆
minHeap.offer(5); // 向堆中添加元素
minHeap.offer(2);
minHeap.offer(8);
minHeap.offer(1);


int minElement = minHeap.peek(); // 獲取堆頂元素(最小值)
System.out.println(minElement); // 輸出結果:1


while (!minHeap.isEmpty()) {
    int currentElement = minHeap.poll(); // 彈出并移除堆頂元素
    System.out.println(currentElement);
}

10. 列表示例:

import java.util.ArrayList;


ArrayList<Integer> myList = new ArrayList<>();
myList.add(1);   // 在列表末尾添加元素
myList.add(2);
myList.add(3);


System.out.println(myList);   // 輸出結果:[1, 2, 3]


myList.remove(1);   // 移除指定索引位置的元素
System.out.println(myList);   // 輸出結果:[1, 3]


int element = myList.get(0);   // 獲取指定索引位置的元素
System.out.println(element);   // 輸出結果:1


for (int i = 0; i < myList.size(); i++) {   // 遍歷列表中的元素
    System.out.println(myList.get(i));
}

在上面的例子中,我們使用優先隊列實現了一個最小堆。我們向堆中添加一些元素,然后通過peek()方法獲取最小的元素。最后,我們使用poll()方法逐個彈出并移除堆中的元素。

這些示例代碼展示了如何使一些常見數據結構的基本用法。你可以根據實際需求對代碼進行修改和擴展。

責任編輯:華軒 來源: 微技術之家
相關推薦

2025-04-07 08:21:49

2010-01-12 11:37:06

Linux常見文件

2017-05-11 11:59:12

MySQL數據結構算法原理

2025-07-31 06:10:00

2019-08-13 09:40:55

數據結構算法JavasCript

2016-09-30 14:23:16

數據結構算法八大排序算法

2014-07-01 15:49:33

數據結構

2024-03-26 00:05:13

數據庫數據結構

2012-05-16 17:05:33

Java數據結構

2011-07-11 16:05:42

MySQL索引

2023-05-03 22:09:02

Hive分區工具,

2009-06-30 16:03:00

異常Java

2024-06-24 00:30:00

2020-08-03 07:48:15

Javascript數據結構

2022-03-11 07:37:39

hashCodeHashMap數據結構

2017-09-06 10:55:19

Java

2011-07-04 10:32:37

JAVA

2015-04-08 10:27:43

JavaScript字符串操作函數

2012-03-31 13:55:15

Java

2020-09-18 09:13:46

數據結構元素
點贊
收藏

51CTO技術棧公眾號

亚洲国产精品一区二区久| 亚洲精品日产精品乱码不卡| 国产精品久久久久一区二区| 日韩欧美国产成人精品免费| youjizzjizz亚洲| 色屁屁一区二区| 浴室偷拍美女洗澡456在线| 免费a视频在线观看| 首页综合国产亚洲丝袜| 久久精品国产欧美亚洲人人爽| 少妇献身老头系列| h1515四虎成人| 亚洲欧洲日韩在线| 久久伊人资源站| 国产国语亲子伦亲子| 午夜宅男久久久| 另类图片亚洲另类| xxxxx在线观看| 日韩一区网站| 欧美日韩一区小说| 国产极品粉嫩福利姬萌白酱| 国产欧美黑人| 久久久久国产精品麻豆| 国产视色精品亚洲一区二区| 国产精品久久久久久在线| 国产精品一二| 久久久久久亚洲精品| 欧美风情第一页| 狠狠色狠狠色综合婷婷tag| 欧美va亚洲va香蕉在线| 免费网站在线观看黄| 日日av拍夜夜添久久免费| 亚洲国产日韩在线一区模特| 国产精品12p| 国产一区电影| 久久久国产精品不卡| 久久96国产精品久久99软件| 亚洲AV无码精品自拍| 国产乱国产乱300精品| 国产美女高潮久久白浆| 国产精华7777777| 日日夜夜精品免费视频| 69久久夜色精品国产69| 国产精品1234区| 欧美日韩精品| 欧美精品18videosex性欧美| 国产精品久久久精品四季影院| 欧美一区二区三区高清视频| 国产一区二区三区欧美| 无码 人妻 在线 视频| 香蕉久久精品日日躁夜夜躁| 亚洲精品电影网站| 中文字幕精品久久久| 加勒比色老久久爱综合网| 精品盗摄一区二区三区| 国内自拍偷拍视频| 国产不卡精品在线| 日韩一区二区免费在线观看| 天天久久综合网| 一区二区日韩| 亚洲激情电影中文字幕| 精品黑人一区二区三区观看时间| 牛牛影视一区二区三区免费看| 日韩av在线看| 欧美黄色一级生活片| 欧美限制电影| 久久精品电影网站| 欧美久久久久久久久久久久| 精品1区2区3区4区| 2019亚洲日韩新视频| 无码人妻精品一区二区三区蜜桃91 | 久久99国内精品| 成人精品在线视频| 国产视频在线免费观看| 成人三级伦理片| 久久久久久一区| 浮生影视网在线观看免费| 国产精品乱人伦一区二区| 正在播放一区| www.综合网.com| 欧美视频第一页| 黄色手机在线视频| 伊人精品综合| 亚洲男人第一网站| 亚洲欧洲综合网| 一区在线视频观看| 国产精品成人免费视频| 国产亲伦免费视频播放| 99久久99久久免费精品蜜臀| 日韩一区不卡| 日韩特级毛片| 欧美色视频在线观看| 免费人成视频在线播放| 蜜桃精品噜噜噜成人av| 久久久成人精品视频| 91看片在线播放| 精品一区二区三区在线播放视频| 国产视频不卡| 秋霞成人影院| 色综合天天性综合| 久久黄色一级视频| 国产一区2区| 美女久久久久久久久久久| 欧美在线观看不卡| 国产成人综合亚洲网站| 日韩欧美亚洲区| 大桥未久在线视频| 4438x成人网最大色成网站| 麻豆国产精品一区| 一本一本久久a久久综合精品| 欧美最猛性xxxxx免费| 国产精品欧美亚洲| 国产日韩欧美精品一区| 成人免费毛片在线观看| 亚洲精品成a人ⅴ香蕉片| 国产丝袜高跟一区| 国产一级片免费| 国产一区二区免费在线| 日韩一区二区电影在线观看| 黄频免费在线观看| 日韩三区在线观看| 国产成人在线网址| 久久这里只有| 久久久久久久久一区| sm在线观看| 欧美tk—视频vk| 日韩成人短视频| 久久精品国产精品亚洲红杏| 日韩av电影免费在线| 蜜桃麻豆av在线| 精品999久久久| 国产性一乱一性一伧一色| 国内精品久久久久影院薰衣草| 欧美系列一区| 性高爱久久久久久久久| 亚洲女在线观看| 五月婷婷亚洲综合| www.欧美.com| 老太脱裤让老头玩ⅹxxxx| av成人男女| 隔壁老王国产在线精品| 亚洲第一页视频| 一区二区三区欧美日| 深夜做爰性大片蜜桃| 中文字幕av亚洲精品一部二部| 国产综合久久久久| 超碰在线网址| 日韩精品中午字幕| 久久久久噜噜噜亚洲熟女综合| 国产一区二区在线视频| 可以在线看黄的网站| 精品国产三级| 色综合五月天导航| 亚洲经典一区二区| 亚洲成人你懂的| 女同毛片一区二区三区| 噜噜噜91成人网| 欧美黄色直播| 成人免费在线观看视频| 中文国产成人精品| 国产农村妇女毛片精品久久| 自拍av一区二区三区| 亚洲一区二区三区三州| 国产一区清纯| 国产一区不卡在线观看| 日韩精品专区| 日韩中文在线观看| 性做久久久久久久| 富二代精品短视频| 欧美激情视频二区| 国产一区二区电影| 91国视频在线| 菠萝蜜一区二区| 亚洲一区亚洲二区| 国产高清视频色在线www| 亚洲欧美在线一区| 91欧美日韩麻豆精品| 亚洲高清视频的网址| 成人在线一级片| 国产一区二区三区在线看麻豆| 欧美亚洲日本一区二区三区| 精品美女视频| av一区二区三区在线观看| 综合毛片免费视频| 久久精品中文字幕| 日本在线丨区| 在线综合+亚洲+欧美中文字幕| 国产真实夫妇交换视频| 国产亚洲精品精华液| 999热精品视频| 久久xxxx| 久久免费一级片| 国产精品一国产精品| 成人免费看片网站| 日韩a**中文字幕| 久久91亚洲人成电影网站| 邻居大乳一区二区三区| 日韩你懂的电影在线观看| 久久久久久无码精品大片| 一区二区在线观看免费| 亚洲欧美va天堂人熟伦 | 中文字幕在线观看的网站| 免费在线看一区| 日韩av高清在线看片| 99久久99久久精品国产片果冰| 国产自产精品| 日韩精品一区二区三区免费视频| 国产精品ⅴa在线观看h| 丁香花在线电影小说观看| 色婷婷综合成人av| 欧美日本韩国一区二区| 日韩美女一区二区三区四区| 亚洲无码精品在线观看| 欧美色视频日本版| 国产精品.www| 亚洲精品国产精华液| 无码人妻丰满熟妇啪啪欧美| 成人黄色av电影| 亚洲天堂一区二区在线观看| 人人狠狠综合久久亚洲| www.99热这里只有精品| 国色天香一区二区| 777久久精品一区二区三区无码 | 中文字幕五月欧美| 免费看黄色的视频| 91在线视频播放| 亚洲欧美一区二区不卡| 国产一区一区三区| 欧美在线色图| 青娱乐国产91| 亚洲自拍都市欧美小说| 久久综合九色综合久99| 久久国产精品免费精品3p| 99热在线播放| 日韩第一区第二区| 亚洲一区中文字幕| 精品视频在线一区| 成人午夜黄色影院| 国产精品日本一区二区不卡视频| 国产剧情久久久久久| 国产精品原创视频| 国产精品美乳在线观看| 欧美暴力调教| 国产精品久久久久久久久久久久久| 亚洲国产福利| 日本精品在线视频| 香蕉成人av| 国产精品丝袜一区二区三区| 992tv国产精品成人影院| 国产精品pans私拍| 亚洲日本网址| 国产一区二区色| 经典三级久久| 成人在线观看av| 精品嫩草影院| 欧美主播一区二区三区美女 久久精品人| 亚洲v天堂v手机在线| 欧美人xxxxx| 日韩成人免费| 中国黄色录像片| 在线日本成人| 欧美丰满熟妇xxxxx| 日韩av中文字幕一区二区三区| 国产精品视频分类| 国产一区二区女| 一级黄色免费视频| 久久综合五月天婷婷伊人| 新91视频在线观看| 国产精品激情偷乱一区二区∴| 免费中文字幕在线| 欧美日韩精品国产| 中文字幕在线2018| 日韩午夜中文字幕| 青青免费在线视频| 中文字幕亚洲欧美一区二区三区 | 亚洲国产日韩在线一区模特| 青青操免费在线视频| 欧美三日本三级三级在线播放| 国产在成人精品线拍偷自揄拍| 欧美变态口味重另类| 日本福利片在线| 日韩综合中文字幕| 91视频欧美| 国产精品美女久久久免费| 日韩欧美中文字幕一区二区三区 | 波多野结衣网页| 久久综合久久鬼色中文字| 在线免费看视频| 亚洲国产精品自拍| 一区精品在线观看| 亚洲大胆人体av| 无遮挡的视频在线观看| 久久久久久国产精品三级玉女聊斋 | 婷婷综合网站| 男人亚洲天堂网| 国产精品一区二区在线观看不卡| 欧美精品欧美极品欧美激情| 国产精品久久久久婷婷| 99久在线精品99re8热| 欧美日本不卡视频| 亚洲 国产 欧美 日韩| 久久精品视频一| 婷婷激情一区| 国产精品三区www17con| 欧美hd在线| 男女激情无遮挡| 国产精品一二三在| 91导航在线观看| 欧美香蕉大胸在线视频观看 | 亚洲男人天堂2019| 污污视频在线| 91精品久久久久久久久青青| 天堂在线精品| 人妻夜夜添夜夜无码av| 国产在线播精品第三| 手机看片福利视频| 欧美性猛交99久久久久99按摩| www久久久com| 另类美女黄大片| 日韩五码电影| 亚洲免费视频一区| 久久一二三四| 玖玖爱在线精品视频| 一区二区三区高清不卡| 国产精品爽爽久久久久久| 在线视频日韩精品| 欧美男女交配| 精品一区二区三区自拍图片区| 欧美三级特黄| 在线成人精品视频| 一区二区三区高清不卡| 99热这里是精品| 久久精品视频播放| 久久丁香四色| www.黄色网址.com| 九九在线精品视频| 最新av电影网站| 欧美日韩国产精品成人| av中文字幕在线| 国产日韩精品综合网站| 欧美第一精品| 日本一区二区三区在线免费观看| 日韩毛片在线免费观看| 国产又黄又猛又爽| www.亚洲成人| 欧美国产亚洲精品| 波多野结衣与黑人| 成人亚洲精品久久久久软件| 久久9999久久免费精品国产| 亚洲第一页在线| 日韩欧美一中文字暮专区| 欧美日韩在线一区二区三区| 久久婷婷影院| 懂色av蜜臀av粉嫩av永久| 欧美日本国产一区| 性欧美1819sex性高清大胸| 国产超碰91| 免费日韩av片| 久久精品三级视频| 制服.丝袜.亚洲.另类.中文| av电影免费在线观看| 国产精品午夜av在线| 香蕉久久夜色精品国产| 精品人伦一区二区| 欧美日韩国产另类一区| 中文字幕中文字幕在线中高清免费版 | 久久久综合九色合综国产精品| 无码人妻熟妇av又粗又大| 中文字幕日韩综合av| 国产aⅴ精品一区二区四区| 2018中文字幕第一页| 久久先锋影音av鲁色资源| 国产91av在线播放| 久热爱精品视频线路一| 老司机成人在线| 三年中国国语在线播放免费| 日韩理论在线观看| 视频一区二区免费| 国产精品视频不卡| 欧美日韩免费| 国产精品久久久久无码av色戒| 欧美精品日韩精品| freexxx性亚洲精品| 色一情一乱一伦一区二区三区丨| 国产一区在线观看麻豆| av大片免费观看| 北条麻妃在线一区二区| 老牛国内精品亚洲成av人片| 激情五月俺来也| 亚洲成av人**亚洲成av**| 亚洲乱亚洲乱妇| 国产一区二区三区四区五区在线| 日本成人在线视频网站| 国产性70yerg老太| 日韩视频第一页| 欧美一性一交| 精产国品一区二区三区| 欧美日韩综合一区| 午夜影院一区| 日本道在线视频|