Java中的集合

目录

1.Java中的集合

2.List集合接口

ArrayList实现类

LinkedList实现类

Vector实现类

3.Set集合接口

HashSet实现类

TreeSet实现类:

4.Map集合接口

HashMap实现类

HashTable实现类

TreeMap实现类


1.Java中的集合

数据结构:堆,栈,队列,树,图,向量.......

背景:集合存在的意义(变量、数组)

            变量:只能存储一个对象(值)

             数组:可以存储多个对象(值),数组一旦定义了初始的长度,则不能改变,数组的类型在声明的时候就已经固定了

             集合:可以存储无限个对象(值),对象的数据类型也可以是任意的数据类型

单列存储:Collection接口

Collection子接口:List、Set接口

2.List集合接口

List接口:有序的,可重复的

ArrayList实现类

ArrayList特征:有序的,可重复的,可以存储null,线程不安全,底层实现方式是数组

常用方法

1.add方法:向集合中进行添加元素          

arrayList.add("admin");

 2.iterator方法:返回一个迭代器,迭代器中存储集合的元素

Iterator<String> it = arrayList.iterator();

3.size方法:返回集合中存储的元素个数

arrayList.size();

4.get方法:根据传入的下标,返回该下标在集合中对应的元素

arrayList.get();

5.forEach方法:遍历集合中的元素

arrayList.forEach(s -> System.out.println(s));

6.addAll方法:向集合中再添加一个集合

arrayList.addAll();

7.clear方法:清除集合中所有的元素

arrayList.clear();

8.contains方法:判断集合中是否包含某一个元素

arrayList.contains();

9.equals方法:比较两个集合中的元素是否相等

arrayList.equals();

10.indexOf方法:判断指定元素在集合中的下标,若不存在则返回-1

arrayList.indexOf();

11.isEmpty方法:判断集合中是否存在元素

arrayList.isEmpty();

12.remove方法:移除集合中的某个元素(通过下标或者元素进行移除操作)

arrayList.remove();

13.removeAll方法:从此列表中删除指定集合中包含的所有元素

arrayList.removeAll(Collection<?> c);

14.retainAll方法:把原集合中非传入的集合中的元素进行移除

arrayList.retainAll();

15.set方法:替换集合中指定下标位置上的元素

arrayList.set();

16.subList方法:截取集合中指定的子集合(左闭右开)

arrayList.subList();

17.toArray方法:把集合转为Object类型数组

Object[] objects = arrayList.toArray();

LinkedList实现类

LinkedList特征:有序的,可重复的,可存储null,线程不安全,底层实现方式是双链表

常用方法:

1.addFirst方法:在集合的头部添加元素

2.addLast方法:在集合的尾部添加元素

3.peek方法:检索但不删除此列表的头(第一个元素)

4.poll方法:检索并删除此列表的头(第一个元素)

5.pop方法:删除并返回第一个元素

6.push方法:在头部添加元素

其他方法,可以参照ArrayList实现类

Vector实现类

vector特征:有序的,可重复的,可以存储null,线程安全的,底层实现方式是数组

常用方法:

1.addElement方法:在集合的尾部添加元素

2.capacity方法:返回集合的容量

3.elementAt方法:根据传入的下标返回该下标在集合中对应的元素

4.trimToSize方法:把集合的容量设置为集合中元素的个数值(释放一部分的内存空间)

其他方法,可以参照ArrayList实现类

3.Set集合接口

特征:不允许存储重复的元素,可以存储null(只能存一个null)

HashSet实现类

HashSet特征:不允许存储重复的元素,可以存储null,无序的,线程不安全,底层是HashMap

常用方法:

1.add方法:向集合中添加元素

2.size方法:返回集合中元素的个数

3.iterator方法:返回迭代器,迭代器中存储了集合中的所有元素

        iterator.hashNext方法:判断迭代器是否有下一个元素

        iterator.next方法:返回迭代器游标当前指向的那个元素

4.forEach方法:遍历set集合

5.contains方法:判断集合中是否包含某一个元素

6.remove方法:移除集合中的元素

7.addAll方法:向集合中添加一个集合

8.toArray方法:把集合转为Object类型的数组

9.removeAll方法:把原集合中和传入的集合中的元素相同的删除

10.stream方法:把集合转为流(java8的新特性)

11.removeIf方法:从集合中删除满足条件的元素

TreeSet实现类:

TreeSet特征:特征:不允许存储重复的元素,不可以存储null,有序的(自然顺序),线程不安全,底层是TreeMap实现

常用方法:

1.add方法:向集合中添加元素

2.forEach方法:遍历set集合中的元素(Lambda表达式)

3.ceiling方法:返回集合中大于或等于给定元素的最小元素(根据排序的前后顺序来确定大小)

4.size方法:返回集合中元素的个数

5.clear方法:清除集合中的元素

6.contains方法:判断集合中是否包含某一个元素

7.escendingIterator方法:把集合中的元素降序后存入到迭代器中,再通过循环遍历迭代器中的元素

8.descendingSet方法:把集合中的元素降序后存入到set集合中,再通过循环遍历set中的元素

9.frist方法:获取集合中的第一个元素

10.last方法:获取集合中的最后一个元素

11.floor方法:返回集合中小于或等于给定元素的最大元素(根据排序的前后顺序来确定大小)

12.headSet方法:返回此集合的部分的视图,其元素严格小于指定的元素

13.higher方法:返回集合中大于给定元素的最小元素(根据排序的前后顺序来确定大小)

14.lower方法:返回集合中小于给定元素的最大元素(根据排序的前后顺序来确定大小)

15.pollFirst方法:检索并删除第一个元素,若集合为空,则返回null

16.remove方法:移除集合中的元素

17.subSet方法:根据起始元素对象来截取集合中的部分元素

4.Map集合接口

Map:存储的是一对键值对数据(key-value)

Map的特性:键不能重复,值可以重复(equals方法和hashcode方法)

HashMap实现类

HashMap实现类特性:无序的,键不能重复,值可以重复,并允许null值和null键,线程不安全,底层是哈希表来实现的

常用方法:

1.put方法:把键值对的数据存储到集合中

2.get方法:通过传入的key获取该key对应的value

3.keySet方法:把map集合中的所有key存储到一个Set集合中

4.entrySet方法:把map集合中的所有键值对数据存储到一个Set集合中(Set的泛型为Map.entry<k,v>)

5.forEach方法:把map中的键值对数据遍历出来(通过Lambda表达式)

6.values方法:把map中所有的value值存储到Collection集合中

7.clear方法:清除map中的所有数据

8.containsKey方法:判断map集合中是否包含指定的键

9.containsValue方法:判断map集合中是否包含指定的值

10.getOrDefault方法:根据指定的key来获取对应的value值,若key不存在,则返回指定的默认值

11.isEmpty方法:判断map集合中的元素的个数是否为0

12.putAll方法:向map中再存入一个map集合

13.remove方法:从map集合中根据key来移除指定的键值对数据

14.size方法:返回集合中的元素个数

15.replace方法:替换指定的key来替换该key所对应的value值

HashTable实现类

HashTable实现类特征:无序的,键不能重复,值可以重复,不允许null值和null键,线程安全,底层基于哈希表来实现的

常用方法:参照HashMap

TreeMap实现类

TreeMap实现类特性:有序的,键不能重复,值可以重复,允许null值但不允许null键,线程不安全,底层基于二叉树来实现的

常用方法:

1.put方法:把键值对的数据存储到集合中

2.get方法:通过传入的key获取该key对应的value

3.keySet方法:把map集合中的所有key存储到一个Set集合中

4.entrySet方法:把map集合中的所有键值对数据存储到一个Set集合中(Set的泛型为weiMap.entry<k,v>)

5.forEach方法:把map中的键值对数据遍历出来(通过Lambda表达式)

6.values方法:把map中所有的value值存储到Collection集合中

7.clear方法:清除map中的所有数据

8.containsKey方法:判断map集合中是否包含指定的键

9.containsValue方法:判断map集合中是否包含指定的值

10.getOrDefault方法:根据指定的key来获取对应的value值,若key不存在,则返回指定的默认值

11.isEmpty方法:判断map集合中的元素的个数是否为0

12.putAll方法:向map中再存入一个map集合

13.remove方法:从map集合中根据key来移除指定的键值对数据

14.size方法:返回集合中的元素个数

15.replace方法:替换指定的key来替换该key所对应的value值

16.ceilingEntry方法:返回大于或等于给定键的最小键值对数据

17.descendingKeySet方法:返回map中包含的键的相反顺序的NavigableSet集合

18.descendingMap方法:返回map中反向排序的键值对的集合

  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值