java集合类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合类相关的知识,希望对你有一定的参考价值。
第十五天知识点总结
一、LinkedList集合类
LinkedList中特有的方法:
1.方法介绍:
添加:
addFirst(E e); 添加在集合第一位的元素
addLast(E e); 添加在集合最后一位的元素
获取:
getFirst(); 获取集合中的第一个元素
getLast(); 获取集合中的最后一个元素
删除:
removeFirst(); 删除集合中的第一个元素
removeLast(); 删除集合中的最后一个元素
2.数据结构
1:栈(1.6)先进后出(栈的结构)
Push();
Pop();
2:队列(双端队列1.5) 先进先出
Offer();
Poll();
3.返回逆序的迭代器对象
descemdingIterator(); 返回逆序的迭代对象
二、Vector集合类
Vector:描述的是一个线程安全的ArrayList使用和ArrayList一样
需要了解的是
Vector和ArrayList的区别:
相同点:Vector和ArrayList底层都是用object[]来实现
不同点:1.ArrayList是线程不同步,操作效率高
Vector线程是同步的,操作效率低
2.ArrayList是在 jdk1.2出现的,Vector是在 jdk1.0就有了。
三、Set集合类
Set集合类 也是一个接口:继承Collection特点:无序的元素,不能重复。
hashSet存值的一个原理:
首先回调用对象的hashCode方法获取hashCode值,通过位移等运算获取一个位置。
情况1:如果位置上是没有元素,直接将元素存放在该位置
情况2:如果位置上已经有了元素,用对的的equals方法和位置上已经存在的对象作比较,如果equals返回的是true那就代表是重复对象,及局部村,如果返回的false将对象和原有的对象存在一起。
想要遍历Set集合:1.将集合变为数组2.通过迭代器来遍历(无序:添加的顺序和打印的顺序是不一样的。)
四、TreeSet集合类
TreeSet集合类:使用元素的自然顺序对元素进行排序,底层使用二叉树来实现的。
注意:你存进去的对象需要具备自然排序的特性。
TreeSet使用注意点:
1.往TreeSet添加对象的时候,如果这个对象有自然排序的特性,就按照自然排序进行排序。
2.往TreeSet添加对象的时候,如果对象本身不具备自然排序的特性,运行的时候直接报错,如果需要存储对象,那么存的对象的类必须要实现Comparable接口 把元素的比较规则定义在compreTo方法中。
3.往TreeSet添加对象的时候,如果对象本身不具备自然排序的特性,并且没有实现Comparable接口,那么这个时候就需要创建一个TreeSet的时候传入一个比较器。
比较器的定义方式:
Class 类名 implements Compartor{
}
4.如果类中实现了Comparable 接口 又在创建TreeSet时传入了一个比较器,这个时候以比较器为标准。
字符串的比较规则:
1.获取字符串中的第一个值进行比较,通过自然排序比较,如果都是一样的就比较下一个值,还是一样在比较下一个,直到无法再比较 了,这时候就会比较字符串的长度。
以上是关于java集合类的主要内容,如果未能解决你的问题,请参考以下文章