1.List接口相对于Collection特有的方法,常用的有哪些?
- void add(int index,Object element):将制定元素element插入到集合中的指定的index处
- boolean addAll(int index,Collection c):将集合c所包含的元素插入到指定的index处
- Object get(int index):返回集合index处的元素
- int indexOf(Object o):返回元素在集合中出现的第一次索引
- Object remove(int index):删除并返回index处的元素
- Object set(int index,Object element):将index处的元素替换成element,返回值是被替换的元素
List subList(int fromIndex,int toIndex):返回从fromIndex(包含)开始,到toIndex(不包含)为止的元素组成的子集合
2.ArrayList的contains方法实现过程如何?
contains方法是Collection中定义的抽象方法,用来判断一个集合中是否包含指定的元素,它的方法签名是:
boolean contains(Object o);
当集合中包含指定的元素,就返回true,否则返回false。
3.List的实现子类特点(ArrayList,LinkedList,vector)
- ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
- Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
- LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
到底使用哪个实现类,要看具体的业务需求
要安全吗?
要:不用Vector(后面有替代的)
不要:ArrayList或者LinkedList
查询多:ArrayList
增删多:LinkedList
如果你真的搞不清楚,那就统统用ArrayList。
4.泛型的含义?
将类型作为一种参数,在编译期占位,运行期才知道具体的类型
5.什么是菱形语法?
泛型演示:菱形语法(泛型推断)
在构造方法的()前面不用写泛型的类型了,直接给出一对<>即可,编译器会自动推断出括号里应该是什么类型
6.泛型类,泛型方法,泛型接口的定义格式
时间: 2024-12-19 01:34:35