Java面试容器,collection,list,set

Posted 高登军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试容器,collection,list,set相关的知识,希望对你有一定的参考价值。

 

1.容器指的是可以容纳其他对象的对象。

2.collection/set/list的联系和区别?

(1)collection是Java集合顶级接口,存储一组不唯一,无序的对象;

(2)list接口和set接口是collections接口的两个子接口;

(3)list存储一组不唯一,有序(插入顺序)的对象;

     Set接口存储一组唯一,无序的对象;

 

 

 

3.set和list的特点与区别?

  (1)list:

   1)是有序的collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引来访问list中的元素,这类似于Java的数组。

2)凡是可以操作索引的方法都是list接口特有方法。

(2)set:

1)接口存储一组唯一、无序的对象(存入和取出的顺序不一定一致)。

2)操作数据的方法与list类似,set接口不存在索引相关的方法。

4.collection接口常用的方法;

Add(Object obj);添加,存储的是对象的引用;

Size():容器中实际的元素个数;

Remove(Object obj):删除一个元素;

Remove(Collection c):删除与集合C中元素相同的元素;

RetainAll(Collection c):只保留当前集合与集合C中的相同的元素;

Contains(Object obj):判断集合中是否存在元素obj;

isEmpty():判断集合是否为空;

Iterator():生成此集合的迭代器;

5.addAll(c)是把集合C中的元素添加到集合C2里;

Collection c = new HashSet();

Collection c2 = new HashSet();

Apple a = new Apple();

c.add(a);

c2.addAll©;

//增加另一个容器中的所有元素!

C2.add(c)是把集合c当做一个元素添加到集合c2里;

Collection c = new HashSet();

Collection c2 = new HashSet();

c.add(a);

c2.add(c);

6:

Object[] o0bjArr = new Object[5];

objArr[0] = 56;

objArr[1] = 123;

objArr[2] = “HelloWorld”;

objArr[3] = new Dog();

objArr[4] = new Cat();

7.  List中

Add(int index,E element):把元素element添加到索引为index的位置;

Get(int index):得到索引为index的元素。

8.ArrayList和LinkedList:

两者都实现了list接口,都具有list中元素有序、不唯一的特点。

ArrayList实现了长度可变的数组,在内存中分配连续空间。遍历元素和随机访问元素的效率比较高;

 

0

1

2

3

4

5

 

aaaa

dddd

cccc

aaaa

eeee

dddd

 

LinkedList采用链表存储方式。插入、删除元素时效率比较高。

 

 

9.ArrayList实现了长度可变的数组,在内存中分配连续空间,遍历元素和随机访问元素的比较高。

add(int index,Object obj)

addAll(int index,Collections c)

remove(int index)

set(int index,Object obj):使用元素obj替代索引位置上的元素。

Get(int index)

subList(int beginIndex,int endIndex);

以上是关于Java面试容器,collection,list,set的主要内容,如果未能解决你的问题,请参考以下文章

Java面试题-Java容器

Java相关面试题总结+答案

Java面试题(容器篇)

容器集合(集合的进阶,Collection,List,Set,Map,Map集合的综合使用--斗地主案列,并发修改异常,列表迭代器,Java面试中几个集合面试题)

菜鸟刷面试题(Java容器篇)

Java容器(ListSetMap)知识点快速复习手册(上)