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

三、注意

集合类存放的都是对象的引用,而非对象本身

时间: 2024-10-22 03:07:09

Java面试题-Java容器的相关文章

java面试题-java基础

1.1java与其他语言相比,有什么优点和缺点? 首先,java与c.c++相比,java是一种完全的面对对象的语言,虽然他的底层(运行时库)使用c语言开发的,可是并不依赖于c,因为java的运行是在运行时库的支持下进行的,所以所以运行效率可以更接近底层的c.c++来说效率会有所影响,不过java的类库采用很好的设计理念,非常好用,页非常实用,已经成为业界的一种标准的开发语言,他的跨平台的特性收到开发者的青睐,只需要开发一次就能在所有安装了java运行时库的环境中运行. 其次,java和c#相比

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

1. 如何让一段程序并发的执行,并最终汇总结果? 答:使用CyclicBarrier 和CountDownLatch都可以,使用CyclicBarrier 在多个关口处将多个线程执行结果汇总,CountDownLatch 在各线程执行完毕后向总线程汇报结果. 2. 如何合理的配置java线程池?如CPU密集型的任务,基本线程池应该配置多大?IO密集型的任务,基本线程池应该配置多大?用有界队列好还是无界队列好?任务非常多的时候,使用什么阻塞队列能获取最好的吞吐量? 答:1)配置线程池时CPU密集型

JAVA面试题——JAVA基础篇

1.JAVA多态的实现方式:继承.重载.覆盖 2.JAVA有8种基本数据类型:byte.short.int.long.float.double.boolean.char 3.final.finally.finalize的区别: final:修饰符,如果一个类被声明为final,则意味着它不能再派生出新的子类.一个类不能既声明为abstract的,又被声明为final的.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读

java面试题——java高级(二)

四.Java高级部分 1.红黑树的实现原理和应用场景: 1.(1)每个节点或者是黑色,或者是红色. (2)根节点是黑色. (3)每个叶子节点(NIL)是黑色. [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!] (4)如果一个节点是红色的,则它的子节点必须是黑色的. (5)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点. 注意: (01) 特性(3)中的叶子节点,是只为空(NIL或null)的节点. (02) 特性(5),确保没有一条路径会比其他路径长出俩倍.因而,红

Java面试题-1

Java面试题 Java面试题 1 1.面向对象的特征有哪些方面? 6 2.访问修饰符public,private,protected,以及不写(默认)时的区别? 7 3.String 是最基本的数据类型吗? 8 4.float f=3.4;是否正确? 8 5.short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? 8 6.Java有没有goto? 8 7.int和Integer有什么区别? 9 8.&和&&的区别? 11

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区

Java面试题全集(中)

这部分主要是与Java Web和Web Service相关的面试题. 96.阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet. 补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI进行竞争,Servlet是一个特殊的Java程

Java面试题下

这部分主要是开源Java EE框架方面的内容,包括hibernate.MyBatis.spring.Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章<Java面试题集(86-115)>.此外,这篇文章还对企业应用架构.大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助. 126.什么是ORM?答:对象关系映射(Object-Relational Mapping,简称OR

java面试题及答案

JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派