首页 / JAVA / java基础——集合框架
java基础——集合框架
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础——集合框架,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1645字,纯文字阅读大概需要3分钟。
内容图文
Collection下的容器
1.Set
HashSet是最普通的set,仅能用来存储不同的数据
LinkedHashSet主要用来FIFO
TreeSet主要用来排序,所以不允许null(基本上等价于stl的set了,底层也是红黑树)
TreeSet的两种排序方法:
1.自然排序,让TreeSet<A>的A类去实现Comparable接口内的int CompareTo(A a)方法
返回值0:元素相同,去重
返回值1:顺序
返回值-1:逆序
2.比较器排序,单独创建一个比较类MyComparator,继承Comparator<T>泛型接口,重写int compare(T t1,T t2) 方法
在创建TreeSet时把这个比较器丢到构造函数里去,TreeSet<T> ts = new TreeSet<T>( new MyComparator() );
返回值处理同上
具体例子看这个
https://blog.csdn.net/zhangqunshuai/article/details/80660974
2.List
ArrayList:快速随机访问,地址连续
LinkedList:对顺序访问进行了优化,向List中间插入与删除的开销并不大,地址不连续,所以在开辟内存空间的时候不需要等一个连续的地址
还具有下列方 法:addFirst(), addLast(), getFirst(), getLast(), removeFirst() 和 removeLast(),
这些方法 (没有在任何接口或基类中定义过)使得LinkedList可以当作堆栈、队列和双向队列使用。
Vector: 同步,线程安全的List,太老了一般不用?
关于Collection接口下的通用方法
boolean add(Object o) :向集合中加入一个对象的引用 void clear():删除集合中所有的对象,即不再持有这些对象的引用 boolean isEmpty() :判断集合是否为空 boolean contains(Object o) : 判断集合中是否持有特定对象的引用 Iterartor iterator() :返回一个Iterator对象,可以用来遍历集合中的元素 boolean remove(Object o) :从集合中删除一个对象的引用 int size() :返回集合中元素的数目 Object[] toArray() : 返回一个数组,该数组中包括集合中的所有元素
Map下的容器
3.map
HashMap:最普通的map,使用hashCode()进行key->value快速查询,基于hash表实现,判不同时要同时重写equals方法和hashCode方法
底层原理https://blog.csdn.net/woshimaxiao1/article/details/83661464
LinkedHashMap:使用 链表维护
TreeMap:内部元素按key以某种规则有序,排序规则参照TreeSet的排序方式(所以底层也是红黑树)
TreeMap:https://www.jianshu.com/p/e11fe1760a3d
array:代表最普通的数组
Java中有一个Arrays类,专门用来操作array。
arrays中拥有一组static函数,
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。
fill():将值填入array中。
sort():用来对array进行排序。
binarySearch():在排好序的array中寻找元素。
System.arraycopy():array的复制。
原文:https://www.cnblogs.com/zsben991126/p/12149352.html
内容总结
以上是互联网集市为您收集整理的java基础——集合框架全部内容,希望文章能够帮你解决java基础——集合框架所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。