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);

Java面试容器,collection,list,set的更多相关文章

  1. Java面试-容器的遍历

    当我们用增强for循环遍历非并发容器(HashMap.ArrayList等),如果修改其结构,会抛出异常ConcurrentModificationException,因此在阿里巴巴的Java规范中有 ...

  2. 200个最常见的JAVA面试问题(附答案)

    本文内容: 20个最常见的JAVA面试问题(附答案) 13个单例模式JAVA面试问题(附答案) 说说JVM和垃圾收集是如何工作的(附答案) 说说如何避免JAVA线程死锁(附答案) Java中HashS ...

  3. java容器-Collection

    1.介绍    collection<E>是java中容器的最主要的接口,该接口继承于Iterable<E>,使得java中所有实现Collection<E>的容器 ...

  4. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  5. Java面试葵花宝典

    面向对象的特征有哪些方面  1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题,而6. 只是选择其中的一 ...

  6. java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  7. Java面试宝典2013版(超长版)

    一. Java基础部分......................................................................................... ...

  8. 近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  9. java 面试

        115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...

随机推荐

  1. 清空表且id为0

    sql命令: 用于清空某表的数据 且让自增的id重新从0开始 truncate table

  2. laravel原生sql

    转自:https://www.cnblogs.com/zouzhe0/p/6307077.html DB::insert(, ']); $user = DB::]); //我们还 可以看到在执行查询的 ...

  3. Maven下载依赖包所使用的方法或者说三方包

    wagon-http-3.2.0-shaded.jar 下载主要用的是这个包,mac位于路径/usr/local/Cellar/maven/3.6.0/libexec/lib下 如图,即使修改jar包 ...

  4. 【c# 学习笔记】使用新成员隐藏基类成员

    如果想在派生类中定义与基类成员同名的成员,则可以使用new关键字把基类成员隐藏起来. 如果不适应new关键字,在派生类中定义一个与基类成员同名的成员,编译器将产生警告信息,如下代码演示: public ...

  5. PHP反射API的使用、体会、说明

    最近开发支付宝相关功能的时候,由于支付宝的SDK比较落伍,不支持composer的方式加载,使用三方的composer SDK又觉得不放心 为了简化代码的调用方式,使用PHP的反射类针对支付宝官方SD ...

  6. linux环境启动rocketmq服务 报connect to <10.4.86.6:10909> failed异常

    解决方式: 需要给Producer和Consumer的DefaultMQPushConsumer对象set这个参数,生产者和消费者都需要,否则不能正常消费消息: 这个问题解决后可能还会出现: conn ...

  7. chapter01图像基本操作

    刚刚开始学习opencv,来记录一下自己的学习笔记,也向各位大牛虚心求教 一.图片的基本知识 只要是彩色的图片都有三个颜色通道,即RGB,用三个矩阵来表示. 三个矩阵的同一个坐标位置上的数值描述的是一 ...

  8. vue vue-cli3 修改elementui的date-picker源码 引入node_modules里的element-ui后报错exports is not defined

    报错说明: 1.复制node_modules/element-ui/packages/date-picker里的文件到自己项目里  --------->>>>>>& ...

  9. mysql常用操作及常见问题

    常用操作 mysql备份: --整库备份 docker exec 容器ID mysqldump -uroot -p密码 --databases 库名 > 库名.sql --仅导出表和数据 mys ...

  10. LeetCode 题目的 Python 实现(持续更新中)

    Python-LeetCode 是一个使用 Python 语言解决 LeetCode 问题的代码库,库有以下几个方面需要注意: 所有题目都是 AC 的: 按照题目顺序,每 50 个放在一个目录下,方便 ...