JAVA的容器---List,Map,Set (转)

JAVA的容器---List,Map,Set 
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

Collection是最基本的集合接口,一个Collection代表一组Object,Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List Set,区别在于List是有序的Collection,且其中允许重复的元素,比如我们常用的Vector,ArrayList,LinkedList,都是实现了List接口的类;而Set是一种不包含重复的元素的Collection。
Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个 value。HashMap是实现了Map接口的具体类。

转自 http://bbs.csdn.net/topics/200040455

时间: 2024-12-18 20:15:42

JAVA的容器---List,Map,Set (转)的相关文章

JAVA的容器---List,Map,Set的区别

Set 数据是不区分顺序的List 是分先后顺序的ArrayList 是 List的一个实现. arrayList 读快改慢,linkedList 是读慢改快 . 这跟它们的存储有关. ArrayList 顺序开辟空间一个挨着一个.LinkedList是存储人以位置,然后用指针关联 JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├Hash

java并发容器(Map、List、BlockingQueue)

转发: 大海巨浪 Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable.另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法.同步容器都是线程安全的,但是对于复合操作,缺有些缺点: ① 迭代:在查觉到容器在迭代开始以后被修改,会抛出一个未检查异常ConcurrentModificationException,为了避免这个异常,需要在迭代期间,持有一个容器锁.但是锁的缺点也很明显

java并发容器(Map、List、BlockingQueue)具体解释

Java库本身就有多种线程安全的容器和同步工具,当中同步容器包含两部分:一个是Vector和Hashtable.另外还有JDK1.2中增加的同步包装类.这些类都是由Collections.synchronizedXXX工厂方法. 同步容器都是线程安全的,可是对于复合操作.缺有些缺点: ① 迭代:在查觉到容器在迭代開始以后被改动,会抛出一个未检查异常ConcurrentModificationException,为了避免这个异常,须要在迭代期间,持有一个容器锁.可是锁的缺点也非常明显.就是对性能的

【Java心得总结七】Java容器下——Map

我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角度对Java中强大的容器类库做了一个简单总结而第二篇专门针对容器类库中的Collection部分进行了总结.这篇博文将对容器类库中的Map部分进行一个整理总结. 一.初识Map Map:一组成对的“键值对”对象,允许你使用键来查找值.(注:Map其实是将键与值形成的二元组按照一维线性的方式组织起来,

java并发容器(Map、List、BlockingQueue)详解

Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable.另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法.同步容器都是线程安全的,但是对于复合操作,缺有些缺点: ① 迭代:在查觉到容器在迭代开始以后被修改,会抛出一个未检查异常ConcurrentModificationException,为了避免这个异常,需要在迭代期间,持有一个容器锁.但是锁的缺点也很明显,就是对性能的影响

java之容器(集合)

知识点: 容器的作用和概览 数组总结回顾 作用 是一种容器,可以在其中放置对象或基本类型数据.从而,实现使用数组管理一组对象. 优势 是一种简单的线性序列,可以快速的访问数组元素,效率高.如果从效率和类型检查的角度讲,数组是最好的. 劣势 不灵活:容量事先定义好,不能随着需求的变化而扩容. 比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么这个用户有多少个?我们在写程序时是无法确定的. 因此,数组远远不能满足我们的需求. 我们需要一种灵活的,容量可以随时扩充的容器来装载我们的对象

java之j2se:再学java对象容器

今天是开学第一天,按照上学期的讲课进度,本该是可以开始学习多线程了,但是由于换了老师,可能交接方面有点出入,又给我们讲授了一遍java对象容器,所以这也是为什么题目为"再学". 本文目录: 集合的主要用途 单值类集合:List类与Set类 键值对类集合:Map类 集合的主要用途:集合主要在查询数据返回的时候常用.比如要使用jsp做一个学生信息管理系统,需要从数据库中返回查询学生的结果,把这些结果放入一个集合里,再通过方法返回,在显示层(view)可以使用jsp标签来把他们显示出来. 单

Java 之容器学习(接上篇)

/** * * 再谈容器 * @author gao */ package com.gao.thinkinjava; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.L

javascript中模拟实现java语言中的map

//javascript中模拟实现java语言中的map 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript"> //private var obj={};//空的对象容器,用于承装键值对 function Map() { //put方法 th