Java集合操作精华总结
一.Set
1.HashSet
boolean add(E e) 添加
访问
boolean remove(E e) 删除
Iterator<E> iterator 遍历
int size() 大小 boolean isEmpty() 是否为空
boolean contains(Object o) 是否包含
void clear() 清空(删除所有元素) Object[] toArray()
<T> T[] toArray(T[] a)
2.LinkedHashSet
boolean add(E e) 添加
访问
boolean remove(E e) 删除
Iterator<E> iterator 遍历
int size() 大小 boolean isEmpty() 是否为空
boolean contains(Object o)是否包含
void clear() 清空(删除所有元素)
3.TreeSet
boolean add(E e) 添加
访问
boolean remove(E e) 删除
Iterator<E> iterator 遍历
int size() 大小 boolean isEmpty() 是否为空
boolean contains(Object o) 是否包含
void clear() 清空(删除所有元素) Comparator<? super E> comparator() 返回用于对该集合中的元素进行排序的比较器,或null,如果此集合使用其元素的natural ordering 。
E first() 返回集合中当前的第一个(最低)元素
E last()
E pollFirst() 检索并删除第一个(最低)元素,或返回 null如果该集合为空.
E pollLast()
E lower(E e) 返回这个集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回 null 。
二.List
1.ArrayList
boolean add(E e) void add(int index,E element) 添加
E get(int index) 访问
int indexOf(Object o) 返回指定元素第一次出现的索引
boolean remove(int index)
boolean remove(Object o) 删除 Iterator<E> iterator()
ListIterator<E> listIterator()
ListIterator<E> listIterator(int index) 遍历
int size() 大小
boolean isEmpty() 是否为空
boolean contains(Object o) 是否包含
void clear() 清空(删除所有元素)
Object[] toArray()
<T> T[] toArray(T[] a)
2.Stack
E push(E item) 压入堆栈
E peek() 查看堆栈顶部的兑现,但不移除
E pop() 移除顶部的对象并返回
boolean empty() 是否为空
int search(Object o) 返回对象在堆栈中的位置,以1为基数
3.LinkedList
添加:
public boolean add(Object element): 元素将被添加到链表的最后;
public boolean add(int index, Object element): 元素将被添加到链表指定索引的位置(从0开始);
public boolean addFirst(Object element): 在头部插入;
public boolean addLast(Object element): 在尾部插入;
访问:
E getFirst()
E getLast()
E get()----不用
删除:
remove(): 删除第一个元素;
remove(int index): 删除指定索引位置的元素(从0开始);
removeFirst(): 删除第一个元素;
removeLast(): 删除最后一个元素;
clear(): 清空列表;
list.subList(1,3).clear():根据范围删除列表元素; boolean contains() 是否包含
void set(int index,element) 替换元素
int indexOf() 查找元素位置
实现栈:
void addFirst(T v)-----push
T getFirst()-----------peek
T removeFirst()--------pop
boolean isEmpty()------empty
String toString()------打印栈元素
实现队列;
private Queue<T> storage = newLinkedList<T>();
void offer(T v)-------插入队尾
void add(T v)---------插入,不违反容量限制
T peek()--------------得到队头,但不移除
T element()----------- 此方法与 peek 方法的惟一不同是,如果此队列为空,它会抛出一个异常
T poll()--------------得到对头,并移除
T remove()------------此方法与 poll 方法的不同在于,如果此队列为空,它会抛出一个异常
boolean isEmpty()------队列是否为空
String toString()------打印队列元素
三.Queue
1.PriorityQueue
boolean add(E e)
boolean offer(E e)-------------------添加
E peek()
E poll()-----------------------------获取对头
boolean remove(Object o)-------------删除
int size()---------------------------大小
Iterator<E> iterator()---------------遍历 boolean contains(Object o)-----------是否包含
Comparator<? super E> comparator()---返回用来对此队列中的元素进行排序的比较器;如果此队列根据其元素的自然排序进行排序,则返回null
Object[] toArray()
<T> T[] toArray(T[] a)
四.Map
V put(K key, V value) ------添加
V get(Object key) ----------访问
remove(Object key) ---------删除
遍历:
entrySet()------得到键值对
keySet()--------得到键
values()--------得到值 int size()----------大小
boolean isEmpty()---是否为空


Java集合操作精华总结的更多相关文章
- JAVA集合操作的利器:CollectionUtils
使用 CollectionUtils 中四个方法之一执行集合操作.这四种分别是 union(),intersection();disjunction(); subtract(); 下列例子就是演示了如 ...
- JAVA 集合操作总结
1.Collection 1.基本操作 对集合的基础操作 1.boolean add(Object o) //添加对象到集合 2.boolean remove(Object o) //删除指定的对象 ...
- JAVA集合操作异常 ---------Collections.unmodifiableCollection
1.问题原因 这两天在做开发的时候,在一个首页的列表哪里操作了ArrayList集合,在做递归删除的时候用的是Iterator对象(至于为什么用,来个链接https://blog.csdn.net/m ...
- java 集合操作小结
Map<String,String> m1=new HashMap<String,String>(); m1.put("zara", "name1 ...
- Java集合操作类Collections的一些常用方法
public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); ...
- JAVASE02-Unit04: 集合框架 、 集合操作 —— 线性表
Unit04: 集合框架 . 集合操作 -- 线性表 操作集合元素相关方法 package day04; import java.util.ArrayList; import java.util.Co ...
- java中的集合操作类(未完待续)
申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...
- java的list集合操作List<T>转化List<Long>
java的list集合操作List<T>转化List<Long> package com.google.common.collect; import com.google.co ...
- java集合并发操作异常解决方法:CopyOnWriteArrayList
一.我们知道ArrayList是线程不安全的,请编写一个不安全的案例并给出解决方案 HashSet与ArrayList一致 HashMap HashSet底层是一个HashMap,存储的值放在Hash ...
随机推荐
- 【CF1009F】Dominant Indices(长链剖分)
[CF1009F]Dominant Indices(长链剖分) 题面 洛谷 CF 翻译: 给定一棵\(n\)个点,以\(1\)号点为根的有根树. 对于每个点,回答在它子树中, 假设距离它为\(d\)的 ...
- 【BZOJ5213】[ZJOI2018]迷宫(神仙题)
[BZOJ5213][ZJOI2018]迷宫(神仙题) 题面 BZOJ 洛谷 题解 首先可以很容易的得到一个\(K\)个点的答案. 构建\(K\)个点分别表示\(mod\ K\)的余数.那么点\(i\ ...
- Codeforces | CF1033D 【Divisors】
题目大意:给定\(n(1\leq n\leq500)\)个数\(a_1,a_2\cdots,a_n(1\leq a_i\leq2\cdot10^{18})\),每个数有\(3\sim5\)个因数,求\ ...
- 「SHOI2016」黑暗前的幻想乡 解题报告
「SHOI2016」黑暗前的幻想乡 sb题想不出来,应该去思考原因,而不是自暴自弃 一开始总是想着对子树做dp,但是状态压不起去,考虑用容斥消减一些条件变得好统计,结果越想越乱. 期间想过矩阵树定理, ...
- django(八)之数据库表的一对多,多对多表-增删改查
单表操作 表记录的添加 方式一: Book() b=Book(name="python基础",price=99,author="yuan",pub_date=& ...
- bzoj3782上学路线(Lucas+CRT+容斥DP+组合计数)
传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3782 有部分分的传送门:https://www.luogu.org/problemnew/ ...
- crond守护进程实现定时监控某进程占有内存的大小
1)添加计划任务 crontab -e会使用某个编辑器打开某个文件,然后在内输入需要执行的计划任务,保存后在/var/spool/cron/crontabs/下会出现以用户名命名的文件 2)计划任务如 ...
- Good Bye 2018 D. New Year and the Permutation Concatenation
传送门 https://www.cnblogs.com/violet-acmer/p/10201535.html 题意: 求 n 的所有全排列组成的序列中连续的 n 个数加和为 n*(n+1)/2 的 ...
- Android Studio项目引入外部库注意事项(zxing)
1.复制到app同级目录下,zxing: 2.在项目根目录下的settings.gradle下添加第三方库目录 4.在app/build.gradle下添加编译依赖 compile project(p ...
- (选择不相交区间)今年暑假不AC hdu2037
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...