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);
Java面试容器,collection,list,set的更多相关文章
- Java面试-容器的遍历
当我们用增强for循环遍历非并发容器(HashMap.ArrayList等),如果修改其结构,会抛出异常ConcurrentModificationException,因此在阿里巴巴的Java规范中有 ...
- 200个最常见的JAVA面试问题(附答案)
本文内容: 20个最常见的JAVA面试问题(附答案) 13个单例模式JAVA面试问题(附答案) 说说JVM和垃圾收集是如何工作的(附答案) 说说如何避免JAVA线程死锁(附答案) Java中HashS ...
- java容器-Collection
1.介绍 collection<E>是java中容器的最主要的接口,该接口继承于Iterable<E>,使得java中所有实现Collection<E>的容器 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- Java面试葵花宝典
面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题,而6. 只是选择其中的一 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- Java面试宝典2013版(超长版)
一. Java基础部分......................................................................................... ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
随机推荐
- LeetCode_58. Length of Last Word
58. Length of Last Word Easy Given a string s consists of upper/lower-case alphabets and empty space ...
- (十一)使用Jconsole监控线程
一.案例 监控线程情况,包括阻塞.死循环等 1.1 代码如下,下述代码共有三个线程,Main.mythread01.mythread02线程,其中mythread01线程为死循环.mythread02 ...
- (七)Centos之链接命令
一.链接命令:ln (link) ln -s [源文件] [目标文件] 功能描述:生成链接文件 选项: -s 创建软链接 二.硬链接 硬链接特征: 1,拥有相同的i节点和存储block块,可以看作是 ...
- jquery图片播放插件Fancybox使用详解
今天给大家介绍的jquery图片播放插件叫Fancybox,相比LightBox来说,Fancybox相对庞大点,配置也更丰富一些,相信你会喜欢的. Fancybox的项目主页地址:http://fa ...
- java 工程编码格式由GBK转化成utf-8 (转载)
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- c# 如何给 dataGridView里添加一个自增长列(列名为序号)
System.Data.DataTable table = new DataTable(); System.Data.DataColumn column = new Da ...
- ORA-12514错误分析
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 有同事遇到这个问题,现总结一下,原因如下: ...
- WUSTOJ 1365: 矩阵旋转(Java)
题目链接:
- windows通过gcc编译代码
1.将gcc添加到环境变量 2.检查gcc是否安装成功 cmd下输入gcc –v 3.cd进入需要编译源文件的目录 4.dir查看当前目录下是否有需要编译的文件(linux下用ls) 5.编译文件(H ...
- Redis主从及Cluster区别及注意事项
https://yq.aliyun.com/articles/647342 https://blog.csdn.net/biren_wang/article/details/78117392 http ...