Java面试题-Java容器
一、Java容器分类
Java容器划分为两个概念Collection、Map
Collection:
一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,不关心是否重复;Set不能有重复元素;Queue一端插入一端输出。所有的Collection都可以用foreach语法遍历
实现:List:ArrayList、LinkedList;
Set:HashSet、TreeSet、LinkedHashSet
Map:HashMap、TreeMap、LinkedHashMap
Map:“键值对对象”,允许你用键来查找值。
简单容器分类:

二、相关类介绍
Java.Util包中的Arrays和Collections类:
Arrays.asList();//接受一个数组或是一个用逗号分隔的元素列表,将其转换为List。
List<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5)) Collections.addAll();//接受一个Collection对象,以及一个数组或一个用逗号分隔的元素列表,将元素添加到Collection中。
Collections.addAll(collection,11,12,13,14);
List中的retainAll()方法是交集操作。
copy.retainAll(sub);//求copy列表和sub列表的交集,并更新copy列表。
LinkedList
LinkedList添加了可以使其作用于栈队列或双端队列的方法。它实现了Queue接口,可以作为Queue的一种实现。
Queue<Integer> queue = new LinkedList<Integer>();
offer();//插入到队尾
peek()和element();//在不移除的情况下返回队头
poll();remove();
三、注意
集合类存放的都是对象的引用,而非对象本身
Java面试题-Java容器的更多相关文章
- [ Java面试题 ]Java 开发岗面试知识点解析
如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Jav ...
- Java面试题-并发容器和框架
1. 如何让一段程序并发的执行,并最终汇总结果? 答:使用CyclicBarrier 和CountDownLatch都可以,使用CyclicBarrier 在多个关口处将多个线程执行结果汇总,Coun ...
- Java面试题(容器篇)
容器 18.java 容器都有哪些? 如图: 首先分为Collection.Map: Collection下分为List.Set和Queue: List下分为ArrayList和LinkedLis ...
- java面试题-Java集合相关
1. ArrayList 和 Vector 的区别 ArrayList和Vector底层实现原理都是一样得,都是使用数组方式存储数据 Vector是线程安全的,但是性能比ArrayList要低. Ar ...
- Java面试题-Java中的锁
1. 如何实现乐观锁(CAS)?如何避免ABA问题? 答:1)读取内存值的方式实现了乐观锁(比如:SVN系统),方法:第一,比较内存值和期望值:第二,替换内存值为要替换值. 2)带参数版 ...
- JAVA面试题——JAVA基础篇
1.JAVA多态的实现方式:继承.重载.覆盖 2.JAVA有8种基本数据类型:byte.short.int.long.float.double.boolean.char 3.final.finally ...
- JAVA面试题——JAVA编程题1(2015.07.22——湛耀)
实现代码很简单: package com.xiaozan.shopping; import java.util.Arrays; public class ShoppingCart { ...
- Java 面试题 —— java 源码
1. 静态工厂方法 静态工厂方法不必在每次调用它们的时候都创建一个新的对象: Boolean.valueOf(boolean): public final class Boolean { public ...
- JAVA面试题——JAVA编程题1(2015.07.22)
实现代码很简单: package com.xiaozan.shopping; import java.util.Arrays; public class ShoppingCart { ...
随机推荐
- Creative Cloud 应用程序 | 直接下载
https://helpx.adobe.com/cn/download-install/kb/creative-cloud-apps-download.html
- ({i:0#.w|nt authority\iusr})Sharepoint impersonates the IUSR account and is denied access to resources
This hotfix makes a new application setting available in ASP.NET 2.0. The new application setting is ...
- 【OCP认证12c题库】CUUG 071题库考试原题及答案(27)
27.choose two The SQL statements executed in a user session are as follows: SQL> CREATE TABLE pro ...
- Codeforces Global Round 2部分题解
传送门 好难受啊掉\(rating\)了-- \(A\ Ilya\ and\ a\ Colorful\ Walk\) 找到最后一个与第一个颜色不同的,比一下距离,然后再找到最左边和最右边与第一个颜色不 ...
- flask源码解析之DispatcherMiddleware
DispatcherMiddleware作用 实现多app的应用,完成路由分发的功能 如何使用 from werkzeug.wsgi import DispatcherMiddleware from ...
- var在PHP和JS中的使用
一,var在PHP中的使用 var在PHP中使用很少,只在类中声明成员变量时候,可以使用var,其相当于public,而且以后逐渐用public替代var,所以在PHP中尽量不使用var声明变量. 二 ...
- 【vue】——vue.js 获取当前 自定义属性值
假设有一个标签h5, 我们给它添加了一个自定义属性值,(item.id是从动态添加的) 点击h5 标签,如何才能获取当前对应的自定义属性值呢? 想当然的我最开始这样写: <h5 class=&q ...
- Linux动态库的导出控制
在实际工作中,许多软件模块是以动态库的方式提供的.做为模块开发人员,我们不仅要掌握如何编写和构建动态库,还要了解如何控制动态库的导出接口,这样,我们可以向模块的用户仅导出必要的接口,而另一些内部接口, ...
- Jmeter中一些概念的理解——90%响应时间、事务、并发
一.90%响应时间(参考虫师博客) 90%Line 一组数由小到大进行排列,找到他的第90%个数(假如是12),那么这个数组中有90%的数将小于等于12 . 用在性能测试的响应时间,也就是90%请求 ...
- SQL查询表结构的语句
SELECT tableName=CASE WHEN a.colorder=1 THEN d.name ELSE '' END ,表说明 =CASE WHEN a.colorder=1 THEN IS ...