JAVA list集合
为什么需要集合?集合与数组有什么区别?
答:数组是一个线性的序列,所以它可以快速的访问其他的元素,一旦建立它的容量就固定了,而且在其生命周期里是不能改变的。
集合则以对象形式来存储它们的元素,可根据需要动态改变大小。
--------------------------------------------
Java中集合有哪些?
答:List,包含Vector、ArrayList,LinkedList
Set,包含HashSet、LinkedHashSet、TreeSet
map,包含HashMap,hashtable
--------------------------------------------
List和Set有什么区别?
答:list是有序的。元素可重复 Set是无序、无索引、无重复的。
--------------------------------------------
ArrayList和Vector有什么区别?
答: Vector是线程安全的,但是效率比较低。
ArrayList是线程不安全的。但是效率较高。
--------------------------------------------
删除元素需要注意什么?
答:删除元素因为删除元素后面的元素会自动前移,所以可能会导致程序出现BUG,所以要从后向前删除。
--------------------------------------------
List中元素允许重复,如何去重?
答:遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。
--------------------------------------------
TreeSet和List的有序有什么区别?
答:List中的有序是指按照元素放入顺序进行排序,而TreeSet是指按放入元素从小到大排序。
--------------------------------------------
Collection和Collentions的区别?
答:Collection 是一个集合接口。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collections 是一个包装类,它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
--------------------------------------------
HashMap和Hashtable有什么区别?
答: HashMap是线程不安全的,效率较高,key、vaule允许为NULL,但key不能重复。
HashTable是线程安全的。效率较低。key 、vaule不允许为NULL