首页 > 代码库 > 大数据第十八天

大数据第十八天

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.泛型类,泛型方法,泛型接口的定义格式

大数据第十八天