精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

а√天堂中文在线资源bt在线| 在线免费观看亚洲视频| 永久免费毛片在线播放| 久久精品视频在线免费观看| 国产热re99久久6国产精品| 亚洲不卡在线播放| 国内露脸中年夫妇交换精品| 日韩欧美中文免费| 一区二区av| www.五月婷婷| 日韩专区一卡二卡| 欧美巨乳在线观看| 日韩一级视频在线观看| 日本成人在线网站| 五月综合激情婷婷六月色窝| 亚洲免费久久| 欧美熟妇乱码在线一区| 青青草国产精品亚洲专区无| 欧美激情在线一区| 怡红院一区二区三区| 中文字幕日韩在线| 欧美日韩在线观看一区二区| 国产一区二区三区播放| 国产日本在线视频| 岛国一区二区三区| 国产精品一区二区电影| 国产精品xxxx喷水欧美| 国产精品久久久久久久久久10秀 | 岛国一区二区在线观看| 国产精品99导航| 久久久久久久久久久久久久免费看 | 欧美三级xxx| 久久视频免费在线| 成人免费在线电影| a美女胸又www黄视频久久| 国产欧美日韩专区发布| 激情视频网站在线观看| 亚洲国产导航| 欧美精品日韩www.p站| 国产在线综合视频| 少妇精品久久久一区二区三区| 日韩欧美亚洲另类制服综合在线| 麻豆三级在线观看| 欧美精品高清| 欧美性猛交xxxx久久久| 国产欧美日韩网站| 国产三级伦理在线| 一区二区三区在线视频免费| 中文有码久久| 成人在线播放视频| 久久精品这里都是精品| 九九99久久| 日韩一区二区三区不卡| 国产91富婆露脸刺激对白| 91亚洲va在线va天堂va国| 一级黄色片在线看| 美国三级日本三级久久99| 国产精品国语对白| 欧美一区免费看| 性久久久久久| 热久久这里只有精品| 天堂а√在线中文在线新版 | 999av视频| 性感少妇一区| 日本成人免费在线| 中文字幕一区在线播放| 性8sex亚洲区入口| 国产成人精品a视频一区www| 无码视频在线观看| 日韩高清不卡一区| 国产伦精品一区二区三区精品视频| 波多野结衣电车痴汉| 日本大胆欧美人术艺术动态 | 免费高清一区二区三区| 欧美人与牲禽动交com| 一区二区成人在线视频| 国产a级片网站| 性欧美18xxxhd| 欧美综合一区二区三区| 中文字幕免费高清在线| 久久久久亚洲精品中文字幕| 日韩精品中文字幕在线一区| 四季av综合网站| 夜夜春成人影院| 一区二区三区四区在线观看视频| 懂色av蜜臀av粉嫩av永久| 亚洲成人一区| 91成品人片a无限观看| 国产免费a视频| 国产在线不卡一卡二卡三卡四卡| 国产精品一区二区你懂得| 日本福利在线观看| 国产精品久久久久aaaa| 欧美日韩中文字幕在线播放| 欧美激情护士| 欧美日韩一卡二卡| 农村末发育av片一区二区| 小嫩嫩12欧美| 综合国产在线观看| 国产一级二级三级视频| 久久动漫亚洲| 亚洲一区二区免费| 日本免费不卡| 一区二区三区高清| 免费裸体美女网站| 亚洲91网站| 亚洲天堂网站在线观看视频| 麻豆成人在线视频| 日韩精品一二三| 成人91免费视频| av资源网站在线观看| 亚洲一级二级三级在线免费观看| 狠狠操精品视频| 亚洲3区在线| 少妇激情综合网| 亚洲黄色一区二区| 国产美女精品在线| 日韩精品av一区二区三区| 欧美人与性动交α欧美精品济南到| 在线免费一区三区| 特级西西人体wwwww| 欧美激情1区2区3区| 国产精品久久久久久久久久新婚 | 99免费精品在线观看| 伊人av成人| 日产精品一区| 日韩电影中文 亚洲精品乱码| 青青草成人免费| 九色porny丨国产精品| 日本精品二区| 午夜影视一区二区三区| 欧美成人午夜电影| 破处女黄色一级片| 精品一区二区在线免费观看| 日韩高清国产精品| 欧美大片高清| 亚洲欧美精品一区| 国产一级做a爱片久久毛片a| jiyouzz国产精品久久| av 日韩 人妻 黑人 综合 无码| 国产精品亚洲综合在线观看| 色av吧综合网| 中文字幕在线2019| 国产精品久久久久影院亚瑟| 熟妇人妻va精品中文字幕 | 色姑娘综合网| 成人在线网站| 国产一区二区三区三区在线观看 | 九九热最新视频//这里只有精品| 亚洲自拍一区在线观看| 久久欧美中文字幕| 国产精品12345| 一区中文字幕电影| 欧美成人激情图片网| 午夜精品免费观看| 国产目拍亚洲精品99久久精品| 久久国产亚洲精品无码| 久久中文资源| 97国产一区二区精品久久呦| 国产99久久九九精品无码免费| 一区二区在线观看视频在线观看| 91女神在线观看| 人人狠狠综合久久亚洲婷婷 | 四虎国产精品免费久久| 国产亚洲精品久久久久久777| 丁香六月婷婷综合| 久久伊人蜜桃av一区二区| 日韩欧美国产免费| 国产精品亚洲片在线播放| 国产91在线播放精品91| 免费成人av电影| 色哟哟在线观看一区二区三区| 人妻精品久久久久中文| 日本视频在线一区| 亚洲综合av一区| 亚洲精品三区| 久久久成人精品视频| 成人av手机在线| 亚洲综合视频网| 星空大象在线观看免费播放| 99视频在线精品国自产拍免费观看| 国产精品日韩一区二区免费视频| 亚洲一区站长工具| 国产亚洲精品久久久久久| 中文无码av一区二区三区| 国产精品电影院| 国产人妻精品久久久久野外| 一个色综合网| 91老司机在线| 福利在线导航136| 日韩精品极品视频免费观看| 波多野结衣mp4| 亚洲精品第1页| 一级特级黄色片| 三级亚洲高清视频| 中文字幕久精品免| 国产精品毛片无码| 欧美一级高清免费| 在线视频自拍| 日韩欧美国产不卡| 久久久久久久久久久久久久av| 欧美高清在线精品一区| 日日干日日操日日射| 国内精品嫩模av私拍在线观看| 久久久久久九九九九| 99久久伊人| 91精品国产99| 91ph在线| 亚洲精品国产精品乱码不99按摩 | 国产成人l区| 日韩精品极品在线观看| 97人人爽人人爽人人爽| 91福利在线免费观看| 日本妇女毛茸茸| 久久久久久免费毛片精品| 亚洲丝袜在线观看| 蜜桃传媒麻豆第一区在线观看| 国产aaa免费视频| 精品久久久久久久| 国产精品日韩一区二区| 成人黄页网站视频| 国产www精品| 在线观看av免费| 国产一区二区三区毛片| 亚洲国产精品一| 欧美精品久久99久久在免费线| 日本学生初尝黑人巨免费视频| 中文字幕精品在线不卡| 成年人小视频在线观看| 蜜桃av噜噜一区| 密臀av一区二区三区| 牛牛国产精品| 亚洲精品国产精品国自产| 精品国产一区二区三区成人影院 | 看国产成人h片视频| 亚洲精品无码久久久久久| 欧美国产另类| 亚洲欧美精品在线观看| 亚洲另类av| 欧美日韩在线观看一区| 菁菁伊人国产精品| 999国内精品视频在线| 成人国产一区| 国产欧美精品日韩精品| 色豆豆成人网| 国产97色在线|日韩| 性欧美又大又长又硬| 美日韩精品免费视频| 黄网页在线观看| 中文字幕最新精品| av影片免费在线观看| 亚洲欧洲视频在线| 大地资源中文在线观看免费版| 亚洲成人网在线观看| 亚洲成人777777| 91精品国产综合久久国产大片| 国产成人精品免费看视频| 欧美日韩精品一区二区三区四区| 久久久久久在线观看| 黄网动漫久久久| 国产一级片播放| 亚洲妇女屁股眼交7| 国产一级久久久| 亚洲成人黄色影院| 国产黄色免费观看| 欧美性猛交xxxx免费看| 好看的av在线| 色综合中文字幕| 伊人久久成人网| 欧美日韩二区三区| 国产又粗又猛又爽又黄的| 欧美精品18+| 国产福利第一视频| 精品国产乱码久久久久久浪潮| 亚洲爱情岛论坛永久| 亚洲国产精品专区久久| 亚洲人成色777777精品音频| 亚洲精品视频二区| 国产福利在线观看| 中文字幕亚洲欧美一区二区三区| а√资源新版在线天堂| 欧美激情视频三区| 国产网站在线| 日韩av免费在线观看| 精品成人18| 国产精品福利视频| 香蕉久久99| 亚洲精品9999| 999亚洲国产精| 欧美 日韩 国产 激情| 精品中文av资源站在线观看| 在线视频观看91| 99精品欧美一区二区蜜桃免费 | 亚洲欧洲美洲在线综合| 在线观看免费网站黄| 不卡av电影院| 牛牛精品一区二区| 91久久国产综合久久蜜月精品| 国产精品丝袜在线播放| 神马影院午夜我不卡| 一区二区三区毛片免费| av片中文字幕| 国产一区二区不卡| 动漫精品一区二区三区| 亚洲蜜臀av乱码久久精品| 男人的天堂一区| 欧美日本在线视频| 亚洲人妻一区二区| 欧美精品免费在线| 日韩不卡在线| 国产91视觉| 郴州新闻综合频道在线直播| 黄色大片在线免费看| 九九热在线视频观看这里只有精品| 亚洲午夜久久久久久久久| 中文字幕第一页久久| 日韩少妇裸体做爰视频| 欧美男女性生活在线直播观看| 亚洲黄色a级片| 中文字幕亚洲图片| 性欧美xxx69hd高清| 亚洲一区二区三区乱码aⅴ| 你懂的一区二区三区| 国产在线播放观看| 韩国成人在线视频| 成人黄色免费网址| 一区二区免费在线播放| 国产精品主播一区二区| 亚洲女人天堂网| 国产精品国精产品一二| 3d蒂法精品啪啪一区二区免费| 精品久久中文| 国产极品在线视频| 九一久久久久久| 蜜桃av.com| 91九色02白丝porn| 天堂在线观看免费视频| 欧美高跟鞋交xxxxxhd| 免费一级欧美在线观看视频| 精品日本一区二区| 自拍欧美日韩| 亚洲欧美激情一区二区三区| 久久久高清一区二区三区| 国产无码精品在线观看| 日韩欧美专区在线| 看黄网站在线| 国产不卡在线观看| 操欧美老女人| 国产 porn| 久久久国产精品午夜一区ai换脸| 中文字幕国产在线观看| 日韩电视剧免费观看网站| 成人性生交大片免费看网站| 亚洲xxxx做受欧美| 一区二区三区中文| 亚洲天堂av一区二区三区| 国产女人水真多18毛片18精品视频 | 欧美精品亚州精品| 一区二区视频| 黄色成人在线免费观看| 国产精品一区二区在线观看不卡| 久久久久国产精品夜夜夜夜夜| 欧美一级欧美一级在线播放| 99在线视频观看| 91精品免费视频| 极品日韩av| 无码任你躁久久久久久老妇| 亚洲综合色自拍一区| 三级在线电影| 日本高清不卡在线| 欧美日韩精品一区二区视频| 青青草原国产在线视频| 亚洲视频1区2区| 国产成人精品亚洲精品色欲| 69av视频在线播放| 久久av影视| 在线黄色免费观看| 亚洲激情五月婷婷| 日本黄视频在线观看| 日产精品久久久一区二区福利| 国产真实有声精品录音| 亚洲国产精品三区| 亚洲欧美电影院| 国产视频在线一区| 欧洲成人午夜免费大片| 精品国产中文字幕第一页| 性chinese极品按摩| 亚洲一区二区三区不卡国产欧美| 日本高清视频www| 国产成人精品久久二区二区91| 四季av一区二区三区免费观看| 日本成人xxx| 精品久久久久久久久久久久| 91在线视频免费看| www国产亚洲精品| 亚洲欧美日本国产专区一区| 日韩在线一卡二卡| 精品国产乱码久久久久久牛牛| 亚洲天堂av影院| 欧美做暖暖视频|