天天看點

Java集合架構實戰:深入探索及示例解析

作者:澀男94570991

Java集合架構包括各種資料結構,如List、Set、Map、Queue等,為資料的存儲和處理提供了強大的工具。本文将詳細介紹Java集合架構中的幾個關鍵類,并通過代碼示例展示如何在實際業務中使用它們。

ArrayList

ArrayList是一種基于動态數組實作的List。它提供了快速的随機通路能力。

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("C++");
        System.out.println(list.get(1)); // 輸出: Python
    }
}
           

LinkedList

LinkedList是一種基于雙向連結清單實作的List。它的插入、删除操作比ArrayList更高效。

import java.util.LinkedList;
import java.util.List;

public class LinkedListExample {
    public static void main(String[] args) {
        List<String> list = new LinkedList<>();
        list.add("Java");
        list.add("Python");
        list.add("C++");
        list.remove(1);
        System.out.println(list); // 輸出: [Java, C++]
    }
}
           

HashMap

HashMap是基于哈希表的Map實作,提供快速查找、插入和删除操作。

import java.util.HashMap;
import java.util.Map;

public class HashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("Java", 10);
        map.put("Python", 20);
        map.put("C++", 30);
        System.out.println(map.get("Python")); // 輸出: 20
    }
}
           

TreeSet

TreeSet是基于紅黑樹的Set實作,能保證元素有序。

import java.util.Set;
import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        Set<String> set = new TreeSet<>();
        set.add("Java");
        set.add("Python");
        set.add("C++");
        System.out.println(set); // 輸出: [C++, Java, Python]
    }
}
           

ConcurrentHashMap

ConcurrentHashMap是線程安全的HashMap,适用于多線程環境。

import java.util.concurrent.ConcurrentHashMap;

public class ConcurrentHashMapExample {
    public static void main(String[] args) {
        ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
        map.put("Java", 10);
        map.put("Python", 20);
        map.put("C++", 30);
        System.out.println(map.get("Java")); // 輸出: 10
    }
}
           

Stack

Stack是後進先出(LIFO)的棧,适用于需遵循LIFO規則的場景。

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        Stack<String> stack = new Stack<>();
        stack.push("Java");
        stack.push("Python");
        stack.push("C++");
        System.out.println(stack.pop()); // 輸出:
    }
}
           

Queue

Queue是先進先出(FIFO)的隊列,适用于需遵循FIFO規則的場景。

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

public class QueueExample {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        queue.add("Java");
        queue.add("Python");
        queue.add("C++");
        System.out.println(queue.poll()); // 輸出: Java
    }
}
           

PriorityQueue

PriorityQueue是一種特殊的隊列,出隊順序是按照元素的優先級決定的。

import java.util.PriorityQueue;

public class PriorityQueueExample {
    public static void main(String[] args) {
        PriorityQueue<Integer> queue = new PriorityQueue<>();
        queue.add(3);
        queue.add(1);
        queue.add(2);
        System.out.println(queue.poll()); // 輸出: 1
    }
}
           

以上隻是Java集合架構中的一部分,它還包含了其他許多有用的類,如 HashSet、LinkedHashMap、Vector 等。了解并掌握這些類,可以幫助你在實際的業務場景中選擇最合适的資料結構,進而編寫出高效和健壯的Java代碼。

Java集合架構實戰:深入探索及示例解析