java-集合使用 3

作者 : admin 本文共2566个字,预计阅读时间需要7分钟 发布时间: 2024-06-10 共2人阅读

TreeSet 类
TreeSet 类是基于红黑树的数据结构实现的,主要特点如下:
– 不允许包含重复元素;
– 允许使用 null 值;
– 线程不安全;
– 插入和删除速度较慢,但查询速度快,可以对元素进行排序。
示例代码:
“`java
import java.util.TreeSet;
public class TreeSetExample {
    public static void main(String[] args) {
        // 创建一个空的 TreeSet
        TreeSet set = new TreeSet();
        // 向 TreeSet 中添加元素
        set.add(“Apple”);
        set.add(“Banana”);
        set.add(“Cherry”);
        // 输出 TreeSet 中的元素
        System.out.println(set);
        // 判断 TreeSet 中是否包含某个元素
        System.out.println(“TreeSet contains Banana: ” + set.contains(“Banana”));
        // 删除指定元素
        set.remove(“Banana”);
        // 输出删除元素后的 TreeSet
        System.out.println(set);
    }
}
“`
(3)Queue 接口
Queue 接口表示一个先进先出(FIFO)的集合。Queue 接口的主要实现类有 ArrayDeque、LinkedList 和 PriorityQueue。
① ArrayDeque 类
ArrayDeque 类是基于动态数

数组的数据结构实现的,主要特点如下:
– 允许包含重复元素;
– 允许使用 null 值;
– 线程不安全;
– 插入和删除速度快,查询速度较慢。
示例代码:
“`java
import java.util.ArrayDeque;
public class ArrayDequeExample {
    public static void main(String[] args) {
        // 创建一个空的 ArrayDeque
        ArrayDeque queue = new ArrayDeque();
        // 向 ArrayDeque 中添加元素
        queue.add(“Apple”);
        queue.add(“Banana”);
        queue.add(“Cherry”);
        // 输出 ArrayDeque 中的元素
        System.out.println(queue);
        // 获取 ArrayDeque 中的元素个数
        System.out.println(“Size: ” + queue.size());
        // 删除指定位置的元素
        queue.remove(1);
        // 输出删除元素后的 ArrayDeque
        System.out.println(queue);
        // 获取指定位置的元素
        System.out.println(“Element at index 1: ” + queue.get(1));
    }
}
“`
② LinkedList 类
LinkedList 类是基于双向链表的数据结构实现的,主要特点如下:
– 允许包含重复元素;
– 允许使用 null 值;
– 线程不安全;
– 插入和删除速度快,查询速度较慢。
示例代码:
“`java
import java.util.LinkedList;
public class LinkedListExample {
    public static void main(String[] args) {
        // 创建一个空的 LinkedList
        LinkedList queue = new LinkedList();
        // 向 LinkedList 中添加元素
        queue.add(“Apple”);
        queue.add(“Banana”);
        queue.add(“Cherry”);
        // 输出 LinkedList 中的元素
        System.out.println(queue);
        // 获取 LinkedList 中的元素个数
        System.out.println(“Size: ” + queue.size());
        // 删除指定位置的元素
        queue.remove(1);
        // 输出删除元素后的 LinkedList
        System.out.println(queue);
        // 获取指定位置的元素
        System.out.println(“Element at index 1: ” + queue.get(1));
    }
}
“`
③ PriorityQueue 类
PriorityQueue 类是基于堆的数据结构实现的,主要特点如下:
– 不允许包含重复元素;
– 允许使用 null 值;
– 线程不安全;
– 插入和删除速度快,查询速度较慢。
示例代码:
“`java
import java.util.PriorityQueue;
public class PriorityQueueExample {
    public static void main(String[] args) {
        // 创建一个空的 PriorityQueue
        PriorityQueue queue = new PriorityQueue();
        // 向 PriorityQueue 中添加元素
        queue.add(3);
        queue.add(1);
        queue.add(4);
        queue.add(1);
        queue.add(5);
        // 输出 PriorityQueue 中的元素
        System.out.println(queue);
        // 获取 PriorityQueue 中的元素个数
        System.out.println(“Size: ” + queue.size());
        // 删除并返回队列中的头元素
        System.out.println(“Removed head element: ” + queue.poll());
        // 输出删除元素后的 PriorityQueue
        System.out.println(queue);
    }
}
 

本站无任何商业行为
个人在线分享 » java-集合使用 3
E-->