资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java都有哪些容器

本篇内容主要讲解“java都有哪些容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java都有哪些容器”吧!

创新互联专注于企业成都全网营销、网站重做改版、宜君网站定制设计、自适应品牌网站建设、H5技术电子商务商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为宜君等各大城市提供网站开发制作服务。

java容器有:ArrayList、LinkedList、Vector、HashSet、LinkedHashSet、TreeSet、LinkedHashMap、TreeMap、ConcurrentHashMap、Hashtable等等。

本教程操作环境:windows7系统、java8版、DELL G3电脑。

什么是容器?

容器是指用以容纳物料并以壳体为主的基本装置。

java容器类类库的用途是"保存对象"。摘自: “Thinking in Java”.

Java集合类是一种特别有用的工具类,可以用于存储数量不等的对象,并可以实现常用的数据结构,如栈,队列等.Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象) “丢进” 该容器中. 摘自: “疯狂Java讲义”.

java中的容器也叫集合,是专门用来管理对象的对象. 这个是我说的.

Java 容器都有哪些?

  • Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示是Collection和Map的继承体系:

java都有哪些容器
java都有哪些容器

具体如下结构:

  • Collection

    • HashSet

    • LinkedHashSet

    • TreeSet

    • ArrayList

    • LinkedList

    • Vector

    • Stack

    • List

    • Set

  • Map

    • LinkedHashMap

    • HashMap

    • TreeMap

    • ConcurrentHashMap

    • Hashtable

ArrayList和LinkList的区别?

ArrayList(数组结构)

  • 优点:get和set调用花费常数时间,也就是查询的速度快

  • 缺点:新项的插入和现有项的删除代价昂贵,也就是添加删除的速度慢

LinkedList(链表结构)

  • 优点:新项的插入和和现有项的删除开销很小,即添加和删除的速度快

  • 缺点:对get和set的调用花费昂贵,不适合做查询

List、Set、Map 之间的区别是什么?

List、Set、Map 的区别主要体现在两个方面:元素是否有序、是否允许元素重复。

三者之间的区别,如下表:
java都有哪些容器

HashMap 和 Hashtable 有什么区别?

  • 存储:HashMap 运行 key 和 value 为 null,而 Hashtable 不允许。

  • 线程安全:Hashtable 是线程安全的,而 HashMap 是非线程安全的。

  • 推荐使用:在 Hashtable 的类注释可以看到,Hashtable 是保留类不建议使用,推荐在单线程环境下使用 HashMap 替代,如果需要多线程使用则用 ConcurrentHashMap 替代。

Comparable和Comparator区别?

Comparable接口

  • 实现Comparable接口类表示这个类型的对象可以进行比较大小的。 这种可以比较大小的对象可以进行自然排序。

Comparator接口

  • 比较器用于实现对象任意属性进行比较大小。

  • 在排序时候可以通过指定属性比较器实现任意属性排序。

在排序时候Comparable接口用于进行自然排序,而Comparator接口进行自定义排序,自定义排序更加灵活方便而常用。
设计上Comparable不推荐使用,因为对程序本身具有侵入性。

到此,相信大家对“java都有哪些容器”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前文章:java都有哪些容器
文章URL:http://cdkjz.cn/article/jspsjj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220