Collection 接口和 Collections 类都是做什么用的 ?
Collection是集合类的顶级接口。它提供对集合对象进行基本操作的通用接口方法。它的直接继承接
口有List,Set和Queue.
Collections是一个包装类。此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。
它不能被实例化,起到一个工具类的作用-
Collection 接口有几个子接口 ?Map 接口有父接口么 ?
三个 没有
-
List 、 Set 、 Map 三个接口有什么特点 ?
1.List以特定的索引(有顺序的存放)来存放元素,可以有重复的元素2.Set存放元素是无序的,而且不可重复
3.Map保存键值对的映射,映射关系可以是一对一(键值)或者多对一,需要注意到的是:键无序不可重复,值可以重复
请简述哈希表(散列表)
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也
就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
这个映射函数叫做散列函数,存放记录的数组叫做散列表。
-
以下哪个集合接口支持通过字符串主键检索对象 A
A.Map
B.Set
C.List
D.Collection
-
以下哪些语句用于创建一个Map实例? D
A.Map m = new Map();
B.Map m = new Map(init capacity,increment capacity);
C.Map m = new Map(new Collection());
D.以上均不行
-
以下代码的执行结果是?
public class Example { public static void main(String[] args) { String s1 = "abc"; String s2 = "def"; String s3 = "def"; List<String> list = new ArrayList<String>(); list.add(s1); list.add(s2); list.add(s3); for (String string : list) { System.out.println( string ); } System.out.println("-------------------"); Set<String> set = new HashSet<>(); set.add(s1); set.add(s2); set.add(s3); for (String string : set) { System.out.println( string ); } } }
7 abc def def abc def
-
以下代码执行结果是?TreeMap和 HashMap 的区别是什么 ?
8 one =1 three = 3 two = 2 TreeMap 是有序的 HashMap是无序的
public class Example { public static void main(String[] args) { TreeMap<String, String> map = new TreeMap<String, String>(); map.put("one", "1"); map.put("two", "2"); map.put("three", "3"); displayMap(map); } static void displayMap(TreeMap map) { Collection<String> c = map.entrySet(); Iterator<String> i = c.iterator();
for( 集合元素类型 i : list ) {
System.out.println(i)
}
for( 集合元素类型 i : Set ) {
System.out.println(i)
}
for (Map.Entry<String,String> m : map01.entrySet()) {
System.out.println(m);
}
while (i.hasNext()) {
Object o = i.next();
System.out.print(o.toString());
}
}
}
-
Vector、ArrayList 和 LinkedList 有什么区别 ?
Vector是线程安全,性能比ArrayList要差 ArrayList重速度,轻安全,是线程的非安全,需要程序员自己管理线程的同步问题 .Vector和ArrayList有利于节约空间
LinkedList是link的双向数据列表,可当作堆栈、队列、双端队列。链表是一种在物理上非连续、非顺序的数据结构,由若干节点node所组成 Arrays.ArrayList 和 java.util.ArrayList 有什么区别 ?
ArrayList是List接口实现类
Arrays.ArrayList 没有add()方法的,修改元素是通过之前传过来的数组进行修改Hashtable和HashMap的区别
1 Hashtable继承自Dictionary类 ,而HashMap实现了Map接口
2 Hashtable的方法是同步的,而HashMap的方法不是,消耗一定度资源要增加一些步骤控制增加了处理过程,Hashtable不允许null值(Key和Value都不允许)。
3 HashMap重速度,轻安全,是线程的非安全,HashMap允许null值(Key和Value都允许)需要程序员自己管理线程的同步问题**
-
分别使用 HashMap 和 List 以及数组统计数组中相同的值出现的次数
两次
String[] array = {"abc" , "ABC" , "123" , "def" , "^_^" , "def" , "abc"};
-
请写出 Iterator 迭代器的优点
java迭代器查找的唯一操作就是依靠调用next,而在执行查找任务的同时,迭代器的位置也在改变.
Iterator迭代器remove方法会删除上次调用next方法返回的元素.这也意味之remove方法和next有着很强的依赖性.如果在 调用remove之前没有调用next是不合法的 .这个接口衍生出了,java集合的迭代器.java集合的迭代器使用 请写出循环 List 、Set、Map 的代码
for( 集合元素类型 i : list ) {
System.out.println(i)
}
for( 集合元素类型 i : Set ) {
System.out.println(i)
}
for (Map.Entry<String,String> m : map01.entrySet()) {
System.out.println(m);
}
15. 以下哪个集合接口支持元素排序 A
A.Collection
B.Set
C.List
D.Map