1.sleep()和wait()有什么区别?
* sleep()来自Thread,wait()来自Object。
* sleep()不释放锁,wait()释放锁。
* sleep()时间到会自动恢复,wait()可以使用notify()/notifyAll()直接唤醒。
2.线程池中submit()和execute()方法有什么区别?
* execute():只能执行Runnable类型的任务。
* submit():可以执行Runnable 和Callable类型的任务。
* Callable类型的任务可以获取执行的返回值。而Runnable执行无返回值。
3. Iterator 和 ListIterator 有什么区别?
* Iterator 可以遍历Set和List集合,而ListIterator只能遍历List.
* Iterator 只能单向遍历,而ListIterator可以双向遍历(向前/后遍历)。
* ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素,替换一个元素,获取前面或后面元素的索引位置。
4.Collection和Collections的区别?
* Collection 是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法, 所有集合都是它的子类,比如List,Set等.
* Collections 是一个包装类,它包含了很多静态方法,不能被实例化,就像一个工具类,比如提供的排序方法:Collections.sort(list).
5.数组和List互转:
* 数组转List: Arrays.asList(array).
* List转数组 : List自带的toArray()方法.
public static void main(String[] args) throws IOException {
List ss=Arrays.asList("j,a,v,a".split(","));
System.out.println(ss);
String[] tt=(String[])ss.toArray();
for(int i = 0; i < tt.length; i++) {
System.out.print(tt[i]+=" ");
}
}