常用集合的简单学习

集合类

​ java集合包括List、Set、Queue、Map,其中Lis/Set/Queue均继承自Collection,这些均是接口,实际使用时,创建对象需要通过他们的实现类来进行。

  • Collection:一个独立元素的序列,这些元素都服从一条或者多条规则
    • List:必须按照插入顺序保存元素
    • Queue:按照排队规则来确定对象产生顺序(通常与插入顺序相同)
    • Set:不能有重复元素
  • Map:一组成对的键值对对象,允许使用键来查找值

List接口


List的实现类包括ArrayList和LinkedList,均是按照插入顺序保存元素,常用的类时ArrayList.

  • ArrayList:优于随机访问元素,但在List中插入、移除元素较慢,并且可以实现自动扩容;
  • LinkedList:优于在List中间的插入、删除操作,有优化的顺序访问
\\创建集合对象
    List list = new ArrayList();
\\元素对象
    String str = "学生1";
\\添加元素
    list.add(str);

ArrayList常用方法:

序号返回值方法说明表达式
1booleanadd(E a)将指定的元素追加到此列表的末尾list.add(x)
2booleancontains(Object o)确定某个对象是否包含在列表中list.contains(x)
3Eget(int index)获取指定位置处的元素list.get(x)
4intindexOf(Object o)返回列表中第一次出现指定元素的位置编号,没有则返回-1list.indexOf(E)
5booleanisEmpty()判断列表是否包含元素list.isEmpty()
6Eremove(int index)移除指定位置的元素list.remove(x)
7booleanretainAll(Collection c)保留此列表中包含在指定集合中的元素。list.retainAll©
8intsize()返回列表的尺寸(元素的个数)list.size()
9ListsubList(int x, int y)返回列表的子序列,从x到y的位置list.subList(x,y)
10voidclear()清空列表list.clear()
11T[]toArray(T[] a)将列表中元素按数组返回list.toArray(int[] a)

Set接口


Set接口中保存元素不能重复,常用的类型HashSet

  • HashSet:存储的顺序没有实际意义;
  • TreeSet:按照比较结果升序保存对象;
  • LinkedHashed:按照添加顺序保存对象;
//创建Set对象
Set<T>  set = new HashSet<>();		// <T> 表示泛型 , Set为接口,创建对象只能创建其实现类的对象
//向Set中添加元素
set.add(Object x );
/*
	Set集合具有唯一性,是依赖于equals和hashCode方法实现的,因此尤其在存储自定义的类型数据时,该类需要重写这两个方法,否则默认调用Object的方法,由于引用数据类型地址不同的原因,导致内容相同的数据依然被保存
*/

Map接口


​ Map接口属于双列集合,内部存储的是一个键值对(键值key不可以重复),具有映射关系,可以通过键-值映射关系方便的查找值;

//创建对象
Map<T1 , T2> map = new HashMap<>();   //T1表示键的数据类型  T2 表示值的数据类型
/*添加元素(键值对)
	如果元素是第一次添加,则返回null 
	如果k键位置已经有值,则用新值覆盖旧值,并将旧值返回;
*/
map.put(K key , V value);
//获取键对应的值
map.get(K key);
//获取所有键的集合
Set<K> keys = map.keySet();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值