博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java面试题】31 介绍Collection框架的结构
阅读量:4511 次
发布时间:2019-06-08

本文共 1029 字,大约阅读时间需要 3 分钟。

Collection:List列表,Set集

Map:Hashtable,HashMap,TreeMap

 

Collection  是单列集合

List   元素是有序的、可重复

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

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

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

List接口中常用类

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

底层是数组结构

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

            底层数据结构是数组结构

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

             底层数据结构是列表结构

 

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

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

Set接口中常用的类

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

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

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

转载于:https://www.cnblogs.com/guweiwei/p/6627350.html

你可能感兴趣的文章
iOS开发中APP之间传递信息1--URL Schema(应用程序间互相启动)
查看>>
MyEclipse持续性开发教程:用JPA和Spring管理数据(一)
查看>>
二级域名共享cookiee 无法删除
查看>>
Luogu 3620 数据备份 - Set
查看>>
03 python 初学(字符格式化输出)
查看>>
百度地图实现普通地图、定位、周边搜索功能
查看>>
OpenCV 学习笔记 02 处理文件、摄像头和图形用户界面
查看>>
图论(网络流):COGS 410. [NOI2009] 植物大战僵尸
查看>>
原理图和PCB元件对应查找--Altium Designer
查看>>
c#鼠标移动到Button 改变颜色
查看>>
利用node搭建本地服务器
查看>>
python pickle命令执行与marshal 任意代码执行
查看>>
Elasticsearch 2.3 java api
查看>>
golang写入csv
查看>>
基础2
查看>>
java基础篇---网络编程(UDP程序设计)
查看>>
Kafka Producer相关代码分析【转】
查看>>
LeetCode 121. Best Time to Buy and Sell Stock
查看>>
麻省理工学院公开课-第四讲:快速排序 及 随机化 算法
查看>>
复杂表达式
查看>>