一、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容器的更多相关文章

  1. [ Java面试题 ]Java 开发岗面试知识点解析

    如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Jav ...

  2. Java面试题-并发容器和框架

    1. 如何让一段程序并发的执行,并最终汇总结果? 答:使用CyclicBarrier 和CountDownLatch都可以,使用CyclicBarrier 在多个关口处将多个线程执行结果汇总,Coun ...

  3. Java面试题(容器篇)

    容器 18.java 容器都有哪些? 如图:   首先分为Collection.Map: Collection下分为List.Set和Queue: List下分为ArrayList和LinkedLis ...

  4. java面试题-Java集合相关

    1. ArrayList 和 Vector 的区别 ArrayList和Vector底层实现原理都是一样得,都是使用数组方式存储数据 Vector是线程安全的,但是性能比ArrayList要低. Ar ...

  5. Java面试题-Java中的锁

    1. 如何实现乐观锁(CAS)?如何避免ABA问题? 答:1)读取内存值的方式实现了乐观锁(比如:SVN系统),方法:第一,比较内存值和期望值:第二,替换内存值为要替换值.        2)带参数版 ...

  6. JAVA面试题——JAVA基础篇

    1.JAVA多态的实现方式:继承.重载.覆盖 2.JAVA有8种基本数据类型:byte.short.int.long.float.double.boolean.char 3.final.finally ...

  7. JAVA面试题——JAVA编程题1(2015.07.22——湛耀)

    实现代码很简单:   package com.xiaozan.shopping;   import java.util.Arrays;   public class ShoppingCart {    ...

  8. Java 面试题 —— java 源码

    1. 静态工厂方法 静态工厂方法不必在每次调用它们的时候都创建一个新的对象: Boolean.valueOf(boolean): public final class Boolean { public ...

  9. JAVA面试题——JAVA编程题1(2015.07.22)

    实现代码很简单:   package com.xiaozan.shopping;   import java.util.Arrays;   public class ShoppingCart {    ...

随机推荐

  1. Lucene4:获取中文分词结果,根据文本计算boost

    1. 要求 环境: Lucene 4.1版本/IKAnalyzer 2012 FF版本/mmseg4j 1.9版本 实现功能: 1).给定输入文本,获取中文拆分词结果:2).给定输入文本,对该文本按一 ...

  2. (译)C#参数传递

    前言 菜鸟去重复之Sql的问题还没有得到满意的答案.如果哪位大哥有相关的资料解释,能够分享给我,那就太谢谢了. 接触C#一年了,感觉很多东西还是很模糊,像C#中的委托和事件 有些东西看多了不用也还是不 ...

  3. Linux TCP不同状态的连接数统计

    方法一:利用netstat命令 统计 TIME_WAIT/CLOSE_WAIT/ESTABLISHED/LISTEN 等TCP状态的连接数 netstat -tan |grep ^tcp |awk ' ...

  4. WPF透明窗体不支持缩放解决方案

    方案一 WPF中的无边框透明窗体,由于没有边并且透明,窗体无法进行缩放操作,今天来讲解如何解决这个问题. 先说一下思路,我们先手为该窗体添加4个边,4个角用于缩放操作,然后再为他们写事件,完成拖放操作 ...

  5. C# 连接sqlite数据库

    web.config <connectionStrings> <add name="SQLiteDB" connectionString="Data S ...

  6. 数据库工具SQLite Expert Personal的简单使用

    官方网站: sqliteexpert官方网址 - SQLite administration | SQLite Expert 先使用SQLite Expert Personal熟悉SQLite语句 插 ...

  7. LightOJ 1138 Trailing Zeroes (III)(二分 + 思维)

    http://lightoj.com/volume_showproblem.php?problem=1138 Trailing Zeroes (III) Time Limit:2000MS     M ...

  8. 数据库访问接口(ODBC、OLE DB、ADO)

    最近在学C#的数据库编程,对于数据库接口技术这块的知识一直比较模糊,网上查了不少资料,看了几天还是朦朦胧胧的,只能做些笔记再研究了. 我们都知道,“数据库”是指一组相关信息的集合,最早的计算机应用之一 ...

  9. LOJ#6504. 「雅礼集训 2018 Day5」Convex(回滚莫队)

    题面 传送门 题解 因为并不强制在线,我们可以考虑莫队 然而莫队的时候有个问题,删除很简单,除去它和前驱后继的贡献即可.但是插入的话却要找到前驱后继再插入,非常麻烦 那么我们把它变成只删除的回滚莫队就 ...

  10. Elasticsearch(八)【NEST高级客户端--Mapping映射】

    要使用NEST与Elasticsearch进行交互,我们需要能够将我们的解决方案中的POCO类型映射到存储在Elasticsearch中的反向索引中的JSON文档和字段.本节介绍NEST中可用的所有不 ...