集合
1.array和arraylist有什么区别?
array是数组,数据类型相同并长度固定。
arraylist是集合(动态数组),可动态增删元素,使用泛型,可存不同类型的数据,长度可变。
2.list和array如何相互转换?
arrays.aslist()
list.toarray()
3.arraylist和linkedlist的区别?
共同点:
可重复,有序
不同点:
arraylist数组结构,查询快,增删慢。
linkedlist链表结构,增删快,查询慢。
4.hastset、treeset和linkedhastset的区别?
共同点:
不可重复,无序
不同点:
hastset增删改查速度快,可以存入一个null值
treeset遍历,按升序保存对象
linkedhashset顺序,按顺序保存对象
5.hashmap、treemap和linkedhashmap的区别?
共同点:
以键值对的形式存储,键只可存在一个,值可存在多个
不同点:
hashmap插入数据快,无序
treemap按升序保存键
linkedhashmap有序保存数据,速度快
6.queue的特点·
先进先出
7.list、set、map的区别?
list有序,可以存入多个null,可重复数据,继承collection
set无序,只可存入一个null,不可重复数据,继承collection
map无序,键可存入一个null,值可存在多个null,键不可重复,值可重复
8.list接口、set接口、queue接口都继承?它的父接口是?
list接口、set接口、queue接口都继承collection
collection继承iterable接口
9.collection和collections的区别?
collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。 collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的collection框架 。
collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作 。
10.iterable接口是什么?它有哪些好处?
iterable是collection接口的父接口,是一个迭代器。
实现iterable接口可以增强for循环
实现iterable接口的集合必须提供一个iterator()的方法
11.iterator和collection中都有一个removed的方法,它们之间有什么区别?
iterator的removed()无参,需一个一个找到被删除的元素,效率低,
在使用iterator遍历时,使用collection的removed,会报错,因为集合中对象的个数会改变,iterator的不会
collection的removed(obj)有参,可结合next方法使用,效率高,
在使用iterator遍历时,使用iterator的removed,不会报错,因为集合中对象的个数和iterator的内部对象一致。