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和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
随机推荐
- mysql 1577、1548错误 解决方案
mysql 1577.1548错误 解决方案 1.mysql版本: 5.5.12 2.问题原因: 使用Navicat导出数据库的提示 :1577 – Cannot proceed because sy ...
- iOS 判断scrollView是否滑动到底部
判断scrollView有没有滚动到视图的底部,用来判断下拉刷新的时间.等 - (void)scrollViewDidScroll:(UIScrollView *)scrollView1 { CG ...
- C++ - 第一个程序
代码: #include <iostream> using namespace std; int main() { cout << "hello!" < ...
- CSS3 @font-face详细用法
@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体就不用再为只能使用Web安全字体烦恼了!肯定 ...
- react中如何处理日期格式整理
1.第一种模式——对应组件:DatePicker: 需要引入 import moment from "moment"; values.cfjdrq = moment(values. ...
- conda换源
装完Anaconda后,建议更新所有的包,因为以后使用很可能会报错. 而更新的时候conda的官方源在美国,不换源就非常蓝瘦,有生之年够呛了. 换源: conda config --add chann ...
- 【MM系列】SAP S/4 HANA的物料编码40位设置
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP S/4 HANA的物料编码4 ...
- Django 数据库
一.操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置MySQL为例来讲解.Django连接数据库,不需要单独的创建一个连接对象.只需要在settings. ...
- 轮播图CSS
css3中的animation:动画名 持续时间 动画的速度曲线 动画开始之前的延迟 动画播放的次数 是否应该轮流反向播放动画 动画播放次数:n(定义应该播放多少次动画) : infinite(无限循 ...
- CNN-4: GoogLeNet 卷积神经网络模型
1.GoogLeNet 模型简介 GoogLeNet 是2014年Christian Szegedy提出的一种全新的深度学习结构,该模型获得了ImageNet挑战赛的冠军. 2.GoogLeNet 模 ...