Java基础知识——常用容器

Java基础知识——常用容器

1. List 列表


接口:java.util.List<>

实现:

  • java.util.ArrayList<>:变长数组
  • java.util.LinkedList<>:双链表

函数:

  • add():在末尾添加一个元素
  • clear():清空
  • size():返回长度
  • isEmpty():是否为空
  • get(i):获取第i个元素
  • set(i, val):将第i个元素设置为val

List 是一个泛型接口,ArrayList 与 LinkedList 均是其实现类:
在这里插入图片描述
使用如下:

public class Main {
    
    
    public static void main(String[] args) {
    
    
        List<Integer> list = new ArrayList<>();
        list.add(12);
        list.add(15);
        list.set(0,122);
        System.out.println(list);
    }
}

在这里插入图片描述

2. Stack 栈


类:java.util.Stack<>

函数:

  • push():压入元素
  • pop():弹出栈顶元素,并返回栈顶元素
  • peek():返回栈顶元素
  • size():返回长度
  • empty():栈是否为空
  • clear():清空

使用如下:

public static void main(String[] args) {
    
    
        Stack<Integer> stk = new Stack<>();
        stk.push(1);
        stk.push(2);
        System.out.println(stk.pop());
        System.out.println(stk.peek());
        System.out.println(stk);
}

3. Queue 队列


接口:java.util.Queue<>

实现:

  • java.util.LinkedList<>:双链表
  • java.util.PriorityQueue<>:优先队列
    – 默认构造小根堆,大根堆写法:new PriorityQueue<>(Collections.reverseOrder())

函数:

  • add():在队尾添加元素
  • remove():删除并返回队头
  • isEmpty():是否为空
  • size():返回长度
  • peek():返回队头
  • clear():清空

使用如下:

public static void main(String[] args) {
    
    
        Queue<Integer> q = new LinkedList<>();
        q.add(1);
        q.add(2);
        q.add(3);
        q.remove();
        System.out.println(q);
    }

4. Set 集合


接口:java.util.Set<K>

实现:

  • java.util.HashSet<K>:哈希表(无序不重复)
  • java.util.TreeSet<K>:平衡树(有序)

函数:

  • add():添加元素
  • contains():是否包含某个元素`
  • remove():删除元素
  • size():返回元素数
  • isEmpty():是否为空
  • clear():清空

java.util.TreeSet 额外的函数:

  • ceiling(key):返回大于等于key的最小元素,不存在则返回null
  • floor(key):返回小于等于key的最大元素,不存在则返回null

5. Map 映射


接口:java.util.Map<K, V>

实现:

java.util.HashMap<K, V>:哈希表
java.util.TreeMap<K, V>:平衡树

函数:

  • put(key, value):添加关键字和其对应的值
  • get(key):返回关键字对应的值
  • containsKey(key):是否包含关键字
  • remove(key):删除关键字
  • size():返回元素数
  • isEmpty():是否为空
  • clear():清空
  • entrySet():获取Map中的所有对象的集合
  • Map.Entry<K, V>:Map中的对象类型
  • getKey():获取关键字
  • getValue():获取值

java.util.TreeMap<K, V>多的函数:

  • ceilingEntry(key):返回大于等于key的最小元素,不存在则返回null
  • floorEntry(key):返回小于等于key的最大元素,不存在则返回null

使用如下:

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Map<Integer,String> map = new HashMap<>();
        map.put(2,"abc");
        map.put(10,"haha");
        map.put(15,"hehe");
        System.out.println(map);
    }
}
public static void main(String[] args) {
    
    
        TreeMap<Integer,String> map = new TreeMap<>();
        map.put(2,"haha");
        map.put(5,"hehe");
        map.put(7,"heihei");

        Map.Entry<Integer,String> up = map.ceilingEntry(4);
        System.out.println(up.getKey()+up.getValue());
        Map.Entry<Integer,String> down = map.floorEntry(4);
        System.out.println(down.getKey()+down.getValue());
}

猜你喜欢

转载自blog.csdn.net/qq_46201146/article/details/126011049