1.Collection, list, Set之间的联系和区别?
Collection:Java.util下的一个接口,是各种集合结构的父接口,List和Set是继承自它的子接口。
List:List接口是有序的,会精确的将元素插入到指定的位置(允许有相同元素)。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素。常用的实现类有 ArrayList、LinkedList 和 Vector。
Set:是一种不包含重复元素的Collection接口,只关心元素是否属于Set(不允许有相同元素),而不关心它的顺序。Set 接口常用实现类是 HashSet、LinkedHashSet 以及 TreeSet。
2.遍历一个集合对象都有哪些方法?
可以用for循环,Iterator迭代和forEach循环。
//for循环
for( int i = 0 ; i < list.size() ; i++) {
System.out.println(list.get(i));
}
//迭代器
Iterator<String> iter = list.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
//for each
for(String str : list) {
//其内部实质上还是调用了迭代器遍历方式,这种循环方式还有其他限制,不建议使用。
System.out.println(str);
}
4.Vector与ArrayList,LinkedList与ArrayList,Hashtable与HashMap,TreeMap与HashMap之间的共同点和区别。