JAVA中的Collection FrameWork
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射
ArrayList和Vector的区别,HashMap和Hashtable的区别
答:就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc();
Dec dec=tt.new Dec();
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
private synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class Inc implements Runnable{
public void run(){
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for(int i=0;i<100;i++){
dec();
}
}
}
}
分享到:
相关推荐
### Java Collection Framework 相关知识点 #### 一、引言 在 Java 领域,《Java Collection Framework》这本书被广泛认为是一本优秀的教程,尤其适合初学者了解集合框架的前世今生。通过本书的学习,读者不仅能...
### Java 6 Collection Framework 新特性概览 #### 1. 新集合接口介绍 - **Deque(双端队列)** - **定义**:Deque(发音为“deck”),即Double-Ended Queue,是一种支持在两端进行插入和移除操作的数据结构。...
Java Collection Framework – Java Lecture 23
Java 中集合框架的层次结构作为接口和类,它们涉及到 pacote(包)java.util。将界面地图嵌入到界面集合中,并考虑使用它的功能。方法概要集合接口参考文献[1]“Java 集合 - Java 大学”。爪哇大学。分发地址 ...
### Java Collections Framework 知识点概览 #### 一、教程导引与适用对象 - **教程概述**:本教程由 developerWorks 提供,旨在帮助读者深入理解 Java Collections Framework 的各个方面。 - **适用人群**: - *...
在Java Collections Framework中,存在多种类型的集合接口及其对应的实现类。 **集合接口:** - **`Collection`**:所有集合类的父接口。 - **`Set`**:不包含重复元素的集合,主要实现有`HashSet`、`...
Java 集合框架(JCF:Java Collections Framework)是 Java 语言中的一组类库,用于实现集合操作的统一标准。集合是计算机科学中的一种基本概念,来源于数学中的集合论。Java 集合框架的出现,使得程序员在编程时...
在 Java 中,Collection Framework 中遗留类包括 Hashtable、Vector 等。这些类是 Java早期的集合类,现在已经被 Collection Framework 中的类所取代。 同步是指多线程环境中的数据访问安全问题。在 Java 中,可以...
介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? 如COLLECTION中遗留类(HASHTABLE、VECTOR)和现有类的区别?(同步) 3.Java中异常处理机制,事件机制? 4.EJB与JAVA BEAN的区别? EJB与JAVA BEAN...
java.util包中定义了各种用于集合操作的类和接口,这些类和接口构成了Java语言的集合框架(Collection Framework)。 Java集合中可以放对象,不能存放基础数据类型数。 Collection Framework 根据不同类型的集合的特点...
Java集合框架(Java Collection Framework)是Java标准库中的一个重要组成部分,它提供了一系列用于存储和操作数据集合的接口和实现类。这些接口和类的设计遵循一致的原则和约定,使得开发者能够更高效地管理不同...
2.介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? 如 COLLECTION 中遗留类(HASHTABLE、VECTOR)和现有类的区别?(同步) 3.Java中异常处理机制,事件机制? 4.EJB与JAVA BEAN的区别? EJB与JAVA BEAN是SUN...
Collection Framework是Java中的一种重要的API,提供了丰富的集合操作API,包括Collection、List、Set、Map等。这些接口和类的设计目的是为了提供一种灵活、可扩展的集合操作机制,能够满足不同的应用场景。 在Java...
下面我们来深入探讨这一机制及其在Java Collection Framework中的实现。 #### 三、Java Collection Framework概览 Java Collection Framework提供了丰富的接口和类来处理不同类型的数据集合。主要包括两个顶级接口...
在HDT-6(可能是某个课程或项目的一部分)中,我们专注于使用Java Collection Framework进行编程。这个工作表可能涵盖了多种集合类和接口的使用,以及它们在实际问题解决中的应用。 Java集合框架主要由两大部分组成...
Java 中的 Collection Framework 由两大接口组成,即 Collection 和 Map。Collection 接口又包括 List 和 Set 两个子接口。Map 接口定义了键值对的关系,List 接口定义了列表,Set 接口定义了集合。 2. Java 中的...
C++ Collection Framework 是一个专为C++设计的开源框架,旨在提供类似Java集合框架的抽象和功能,使得在C++编程中处理数据集合更加灵活、高效。与标准模板库(STL)不同,C++ Collection Framework 强调了类型安全...
Java 中的 Collection Framework 包括了多种集合类,例如 List、Set、Map 等。List 中包括 ArrayList、LinkedList、Vector 等,Set 中包括 HashSet、LinkedHashSet 等,Map 中包括 HashMap、Hashtable 等。 List、...