zoukankan      html  css  js  c++  java
  • Java面试容器,collection,list,set

     

    1.容器指的是可以容纳其他对象的对象。

    2.collection/set/list的联系和区别?

    (1)collection是Java集合顶级接口,存储一组不唯一,无序的对象;

    (2)list接口和set接口是collections接口的两个子接口;

    (3)list存储一组不唯一,有序(插入顺序)的对象;

         Set接口存储一组唯一,无序的对象;

     

     

    3.set和list的特点与区别?

      (1)list:

       1)是有序的collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引来访问list中的元素,这类似于Java的数组。

    2)凡是可以操作索引的方法都是list接口特有方法。

    (2)set:

    1)接口存储一组唯一、无序的对象(存入和取出的顺序不一定一致)。

    2)操作数据的方法与list类似,set接口不存在索引相关的方法。

    4.collection接口常用的方法;

    Add(Object obj);添加,存储的是对象的引用;

    Size():容器中实际的元素个数;

    Remove(Object obj):删除一个元素;

    Remove(Collection c):删除与集合C中元素相同的元素;

    RetainAll(Collection c):只保留当前集合与集合C中的相同的元素;

    Contains(Object obj):判断集合中是否存在元素obj;

    isEmpty():判断集合是否为空;

    Iterator():生成此集合的迭代器;

    5.addAll(c)是把集合C中的元素添加到集合C2里;

    Collection c = new HashSet();

    Collection c2 = new HashSet();

    Apple a = new Apple();

    c.add(a);

    c2.addAll©;

    //增加另一个容器中的所有元素!

    C2.add(c)是把集合c当做一个元素添加到集合c2里;

    Collection c = new HashSet();

    Collection c2 = new HashSet();

    c.add(a);

    c2.add(c);

    6:

    Object[] o0bjArr = new Object[5];

    objArr[0] = 56;

    objArr[1] = 123;

    objArr[2] = “HelloWorld”;

    objArr[3] = new Dog();

    objArr[4] = new Cat();

    7.  List中

    Add(int index,E element):把元素element添加到索引为index的位置;

    Get(int index):得到索引为index的元素。

    8.ArrayList和LinkedList:

    两者都实现了list接口,都具有list中元素有序、不唯一的特点。

    ArrayList实现了长度可变的数组,在内存中分配连续空间。遍历元素和随机访问元素的效率比较高;

     

    0

    1

    2

    3

    4

    5

     

    aaaa

    dddd

    cccc

    aaaa

    eeee

    dddd

     

    LinkedList采用链表存储方式。插入、删除元素时效率比较高。

     

    9.ArrayList实现了长度可变的数组,在内存中分配连续空间,遍历元素和随机访问元素的比较高。

    add(int index,Object obj)

    addAll(int index,Collections c)

    remove(int index)

    set(int index,Object obj):使用元素obj替代索引位置上的元素。

    Get(int index)

    subList(int beginIndex,int endIndex);

  • 相关阅读:
    浙大《数据结构》第二章:线性结构
    浙大《数据结构》第一章:基本概念
    《软技能:代码之外的生存指南》读书笔记
    《高质量程序设计指南》读书笔记
    《大话无线通信》读书笔记
    使用Tensorflow训练神经网络模型
    掌握功率谱估计的方法
    网络安全宣传周活动
    ICMP数据包
    DNS数据包
  • 原文地址:https://www.cnblogs.com/7758521gorden/p/8051482.html
Copyright © 2011-2022 走看看