Javase—集合框架Collection


集合框架:
1.定义:
1.集合:又称为容器,这个对象可以管理和维护其他对象
2.集合框架:包含所有集合的相关接口,实现类和算法类的一组API


2.集合框架中包含:接口,实现类,算法类
1.顶层接口:
1.Collection:直接存元素
1.List(ArrayList、LinkedList、Stack)
2.Set(HashSet、SortedSet:TreeSet)
2.Map:元素成对出现
1.HashMap
2.Hashtable
3.TreeMap
2.算法类:提供大量静态方法对集合进行处理
1.collections:对集合(Collection、Map)进行处理
2.Arrays:对数组进行处理


3.Collection中的常用方法:
1.add :增加一个元素
2.addAll :增加一个集合
3.remove :删除一个元素
4.removeAll :删除一个集合中所有的元素
5.contains :是否包含某个元素
6.containsAll :是否包含某个集合中的所有元素
7.clear :清除所有元素
8.isEmpty :是否为空的
9.size :获得长度
10.toArray :转成数组
11.iterator :获得一个迭代器


4.List接口:有序,可重复
1.说明:Collection接口最常用的子类
2.特点:有序,可重复
3.增加方法:
1.get :获得指定下标的元素
2.set :设计某个位置的元素
3.indexOf:获得元素在该集合的下标
4.subList:获得子列表,含头不含尾


5.泛型:
1.说明:
JDK5以后的新特性,指的是数据类型的参数化
2.语法:
List<数据类型> list=new ArrayList<数据类型>(); 例:List<String> list=new ArrayList<String>();
3.解决的问题:
1.数据类型的安全性
2.从集合中获得数据后的强制类型转换


6.Collections中常见方法:
1.addAll :将所有元素添加到集合中
2.reverse :翻转
3.shuffle :洗牌(乱序)
4.swap :交换List中两元素的位置
5.max :集合中最大的元素
6.min :集合中最小的元素
7.binarySearch:二分法查找,可以加比较器
8.frequency :元素在该集合中出现的次数
9.copy :将集合中的元素复制到另一个集合中
10.replaceAll :将集合中指定的元素全部替换为其他
11.disjoint :两个集合中没有相同元素返回true
12.sort :对List中的元素排序必须满足两个条件的一个
1.Comparable[实现了自然排序接口]
2.Comparaor[单独再提供一个比较器])


7.Comparator:
1.说明:自定义一个比较规则
2.方法:int compare(T o1,T o2);
o1>o2 :正整数
o1==o2 :0
o1<o2 :负整数
3.优点:
1.如果元素没有实现Comparable,可以通过Comparator实现排序功能
2.如果元素已经实现Comparable,可以通过Comparator实现新的排序规则
3.如果同时提供了Comparable和Comparator,Comparator的优先级更高


8.Arrays中常用的方法:
1.asList:向集合中添加元素
2.toString:
3.sort:排序
4.fill:
5.binarySearch:
6.copyRange:
7.copyOf:


9.LinkedList:有序,可重复
1.说明:List接口的实现类,与 ArrayList(更适和查找)用法相同,
2.LinkedList是一个链表,jdk8的源码不是循环链表,只是双向链表
3.这个集合中有两个引用,first和last
4.特点:插入,删除 性能好,查询性能差


10.Stack(栈):
1.特点:先进后出,后进先出
2.三个重要的方法:
1.push:压栈
2.pop:出栈
3.peek:只取不删
3.例:入栈顺序是:abc,哪个不可能是出栈顺序?A、abc;B、cba;C、cab(正确答案);D、bca


11.Queue(队列):自学
1.队列 的接口
2.特点:先进先出
3.方法:add(从后加);remove(从前删)


12.其他:
1.size>>1:右移2,相当于除以2
2.this和super的两种用法:this.对象(调用当前对象),this();(在当前调用当前类的 另一个构造方法);super将当前换为父类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值