介绍Collection框架的结构;Collection 和 Collections的区别

集合框架:

Collection:List列表,Set集

Map:Hashtable,HashMap,TreeMap

Collection  是单列集合

List   元素是有序的、可重复

有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。

可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

可存放重复元素,元素存取是有序的。

List接口中常用类

l Vector:线程安全,但速度慢,已被ArrayList替代。

底层数据结构是数组结构

l ArrayList:线程不安全,查询速度快。

底层数据结构是数组结构

l LinkedList:线程不安全。增删速度快。

底层数据结构是列表结构

Set(集) 元素无序的、不可重复。

取出元素的方法只有迭代器。不可以存放重复元素,元素存取是无序的。

Set接口中常用的类

l HashSet:线程不安全,存取速度快。

它是如何保证元素唯一性的呢?依赖的是元素的hashCode方法和euqals方法。

l TreeSet:线程不安全,可以对Set集合中的元素进行排序。

它的排序是如何进行的呢?通过compareTo或者compare方法中的来保证元素的唯一性。元素是以二叉树的形式存放的。

Map  是一个双列集合

|--Hashtable:线程安全,速度快。底层是哈希表数据结构。是同步的。

不允许null作为键,null作为值。

|--Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串。

是集合中可以和IO技术相结合的对象。(到了IO在学习它的特有和io相关的功能。)

|--HashMap:线程不安全,速度慢。底层也是哈希表数据结构。是不同步的。

允许null作为键,null作为值。替代了Hashtable.

|--LinkedHashMap: 可以保证HashMap集合有序。存入的顺序和取出的顺序一致。

|--TreeMap:可以用来对Map集合中的键进行排序.

Collection 和 Collections的区别

Collection是集合类的上级接口,子接口主要有Set 和List、Map。

Collections是针对集合类的一个帮助类,提供了操作集合的工具方法:一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

转载自 http://blog.sina.com.cn/s/blog_105817120102vzh6.html

介绍Collection框架的结构;Collection 和 Collections的区别的更多相关文章

  1. 【Java面试题】31 介绍Collection框架的结构

    Collection:List列表,Set集 Map:Hashtable,HashMap,TreeMap   Collection  是单列集合 List   元素是有序的.可重复 有序的 colle ...

  2. 简单介绍Collection框架的结构

    Collection:List列表,Set集 Map:Hashtable,HashMap,TreeMap Collection  是单列集合 List   元素是有序的.可重复 有序的 collect ...

  3. 介绍Collection框架的结构?

    随意发挥题,天南海北谁便谈,只要让别觉得你知识渊博,理解透彻即可.

  4. Collection包结构,与Collections的区别

    Collection 1.Collection是集合类的顶级接口: 2.实现接口和类主要有Set.List.LinkedList.ArrayList.Vector.Stack.Set: Collect ...

  5. 集合框架(Collection和Collections的区别)

    1.Collection: java.util.Collection 是一个集合接口. 它提供了对集合对象进行基本操作的通用接口方法.Collection接口在Java 类库中有很多具体的实现.Col ...

  6. java collections读书笔记(9)collection框架总览(2)

    框架算法: 1)collection接口 add()  Adds an element to the collection.addAll()  Adds a collection of element ...

  7. java collections读书笔记(8)collection框架总览(1)

  8. Java编程手冊-Collection框架(上)

    该文章所讲内容基本涵盖了Collection里面的全部东西,尽管基于jdk 1.5的.可是思路非常清晰 1.引言 1.1 Collection框架的介绍 尽管我们能够使用数组去存储具有同样类型的元素集 ...

  9. Java Collection框架详解

    引用自:http://blog.sina.com.cn/s/blog_6d6f5d7d0100s9nu.html 经常会看到程序中使用了记录集,常用的有Collection.HashMap.HashS ...

随机推荐

  1. kafka重复数据问题排查记录

    问题 向kafka写数据,然后读kafka数据,生产的数据量和消费的数据量对不上. 开始怀疑人生,以前奠定的基础受到挑战... 原来的测试为什么没有覆盖生产量和消费量的对比? 消费者写的有问题?反复检 ...

  2. php解析url并得到url中的参数及获取url参数

    <?php $url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&ar ...

  3. php代码覆盖率执行

    我们做平台项目时,我会为整个项目核心架构拆分成三部分:前段(pc展示.mobile展示).网关.中间层 中间层业务逻辑开发人员怎么保证自己的业务逻辑是严谨的,每个测试用例都run codecover呢 ...

  4. 使用zlib来压缩文件-用delphi描述

    今天用到压缩文件的问题,找了一些网上的资料,后来发现了delphi自身所带的zlib单元,根据例子稍微改变了一些,使它能够符合所有的格式. 使用时,需要Zlib.pas和 Zlibconst.pas两 ...

  5. [Android] AndroidStudio + JNI(NDK)开发相关总结

    1.官方推荐JNI构建方案 从Android studio 2.2 开始,Google推荐的JNI开发构建工具是CMake而不是NDK,参考官方文档:https://developer.android ...

  6. PHP批量添加数据

    <?php // 连接数据库 header('content-type:text/html;charset=utf-8'); define('DB_HOST','127.0.0.1'); def ...

  7. table thead 置顶

    table tbody { display:block; max-height:300px; overflow-y:scroll;}table thead, tbody tr { display:ta ...

  8. 【并发】基于 @Async和 CompletableFuture 实现并发异步操作

    参考链接:Spring官方示例 User.java package hello; import com.fasterxml.jackson.annotation.JsonIgnorePropertie ...

  9. PAT 乙级 1014 福尔摩斯的约会 (20) C++版

    1014. 福尔摩斯的约会 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的 ...

  10. stopPropagation()阻止事件的冒泡传递

    <!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...