Java集合框架面试题目


1、 为什么Map接口不继承Collection 接口?

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。 Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。


2、ArrayList、String[]之间的转换

     ArrarList 转换为 String[] :

 
 
ArrayList list = new ArrayList();
list.add( "aaa" );
list.add( "bbb" );
String[] arrString= new String[list.size()];
arrString = (String[])list.toArray(arrString);

   String[] 转换为 ArrarList :

String[] words = {"ace", "boom", "crew", "dog", "eon"};
List<String> wordList = new ArrayList<String>(Arrays.asList(words));


3、一个Java的类可以同时继承thread和实现runable
<span style="font-size:18px;">class T extends Thread implements Runnable{
    @Override
    public void run() {
        System.out.println(10);
    }
}</span>
4、java如何保证一个集合线程安全?
  使用线程安全类
Collections.synchronizedList(list);
Collections.synchronizedSet(set)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值