Java 常用数据结构汇总

Java 常用数据结构汇总

在 Java 中有很多常用的数据结构,每种都有自己的特点和用途。

1. List 接口及其实现

List 是一个有序集合,允许存储重复的元素。它有以下常见的实现类:

ArrayList

  • 特点:基于动态数组,支持随机访问,查找速度快,但插入、删除效率较低。
  • 适用场景:适合频繁查询、较少插入和删除的场景。
  • 常用 API
    • add(E e):添加元素。
    • remove(int index):删除指定位置的元素。
    • get(int index):获取指定位置的元素。
    • contains(Object o):检查列表中是否包含指定元素。
    • size():返回列表中元素的个数。
  • 示例
    List<String> list = new ArrayList<>();
    list.add("Apple");
    list.add("Banana");
    list.add("Cherry");
    System.out.println(list.get(1)); // 输出:Banana
    list.remove(0); // 移除 "Apple"
    System.out.println(list); // 输出:[Banana, Cherry]
    

LinkedList

  • 特点:基于双向链表,插入和删除元素效率较高,适合处理大量插入、删除操作。
  • 适用场景:频繁插入和删除操作的场景。
  • 常用 API
    • addFirst(E e):在列表开头添加元素。
    • addLast(E e):在列表末尾添加元素。
    • removeFirst():删除列表中的第一个元素。
    • removeLast():删除列表中的最后一个元素。
    • get(int index):获取指定位置的元素。
  • 示例
    List<String> linkedList = new LinkedList<>();
    linkedList.add("Dog");
    linkedList.add("Cat");
    linkedList.addFirst("Horse");
    System.out.println(linkedList); // 输出:[Horse, Dog, Cat]
    linkedList.removeLast(); // 移除 "Cat"
    System.out.println(linkedList); // 输出:[Horse, Dog]
    

Vector (老旧实现)

  • 特点:线程安全的列表实现(在现代开发中不推荐)。
  • 适用场景:一般被 ArrayList 代替,不再推荐使用。
  • 常用 API
    • add(E e):添加元素。
    • remove(int index):删除指定位置的元素。
    • get(int index):获取指定位置的元素。
    • size():返回元素的个数。
  • 示例
    Vector<String> vector = new Vector<>();
    vector.add("One");
    vector.add("Two");
    System.out.println(vector); // 输出:[One, Two]
    

2. Set 接口及其实现

Set 是一个不允许有重复元素的集合。以下是常见的实现:

HashSet

  • 特点:基于哈希表,不保证元素顺序,查找和插入操作非常快。
  • 适用场景:需要集合去重且不关心顺序。
  • 常用 API
    • add(E e):添加元素。
    • remove(Object o):移除指定元素。
    • contains(Object o):检查集合中是否包含某元素。
    • size():返回集合中元素的个数。
  • 示例

你可能感兴趣的:(1024程序员节,java,算法,笔记,leetcode,数据结构)