文章目录
Java集合中各种数据结构的方法汇总
获取大小:fun.size();
判断是否为空:fun.isEmpty();
数组 ArrayList 、LinkedList
增加:add(int index, E element)
删除:remove(int index)
remove(Object o)
修改:set(int index, E element)
查看:get(int index)
链表 LinkedList
增加:addFirst(E e)
、 addLast(E e)
、offer(E e)
、 offerFirst(E e)
、offerLast(E e)
删除:poll()
、 pollFirst()
、 pollLast()
(<—推荐使用,JDK1.6以后新出的方法,提高代码的健壮性) removeFirst()
、 removeLast()
查看:element()
、 getFirst()
、 getLast()
、 indexOf(Object o)
、 lastIndexOf(Object o)
、 peek()
、peekFirst()
、peekLast()
栈 Stack(基于Vector实现,被弃用,通常使用Deque代替)
Stack
入栈:stack.push(value)
出栈:stack.pop()
获取栈顶元素:stack.peek()
Deque
入栈:deque.add(value); deque.addLast();
出栈:deque.pollLast();
获取栈顶元素:deque.peekLast();
或者:
入栈:deque.addFirst();
出栈:deque.pollFirst();
获取栈顶元素:deque.peekFirst();
队列 ArrayDeque、LinkedList
入队:queue.add(); queue.addLast(); queue.offer(); queue.offerLast();
出队:queue.poll; queue.pollFirst(); queue.remove(); queue.removeFirst();
获取队头元素:queue.peek(); queue.peekFirst(); queue.getFirst();
获取队尾元素:queue.peekLast(); queue.getLast();
哈希表 HashMap
添加:map.put(key, value);
获取值:map.get(key)
移除:map.remove(key);
判断键是否存在:map.containsKey(key);
获取键的集合:Set<T> keySet = map.keySet();
获取键值对的集合:Set<Map.Entry<T,T>> entries = map.entrySet();
堆 PriorityQueue
小顶堆的创建:Queue<T> heap = new PriorityQueue<>();
大顶堆的创建:Queue<T> heap = new PriorityQueue<>((o1, o2) -> (o2 - o1));
添加元素:heap.add(); heap.offer();
删除堆顶元素:heap.poll(); heap.remove();
获取堆顶元素:heap.peek(); heap.element();
判断是否包含指定元素:heap.contains(value);