`
hunter090730
  • 浏览: 194684 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HashSet HashMap HashTable Vector ArrayList区别

    博客分类:
  • java
阅读更多

Vector 和 ArrayList

Vector非常类似ArrayList,但是Vector是同步的.Vector它允许所有元素,包括null

ArrayList实现了可变大小的数组。它允许所有元素,包括null。

 

HashMap HashTable

HashTable与HashMap非常类似,除了HashTable是同步的和HashTable不允许null Object作为key或value值.

Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类

 

HashSet TreeSet

  Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。   HashSet 允许null 值

TreeSet可对其插入的元素按自然顺序排序(Comparable or Comparator ),TreeSet不允许null值将抛出java.lang.NullPointerException.

 

java.util
Class ArrayList

java.lang.Object
  extended byjava.util.AbstractCollection
      extended byjava.util.AbstractList
          extended byjava.util.ArrayList

Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list. (This class is roughly equivalent to Vector, except that it is unsynchronized.)

 

 

java.util
Class HashMap

java.lang.Object
  extended byjava.util.AbstractMap
      extended byjava.util.HashMap
public class HashMap
extends AbstractMap
implements Map, Cloneable, Serializable

Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls.)

0
1
分享到:
评论

相关推荐

    Java中List、ArrayList、Vector及map、HashTable、HashMap分别的区别.

    ArrayList和LinkedList虽然不是Set,但它们的父接口List属于Collection,而Collection接口有一个子接口Set,例如HashSet是Set接口的一个实现,它内部基于HashMap实现,保证元素唯一性。 7. WeakHashMap WeakHashMap...

    Hashtable和HashMap的区别:

    ### Hashtable与HashMap的区别详解 #### 一、基本概念与历史背景 在Java编程语言中,`Hashtable` 和 `HashMap` 都是用来存储键值对的数据结构。这两种数据结构虽然相似,但是在实现细节上存在显著差异。 1. **...

    对java基础集合部分(List、HashMap、HashSet、ArrayList等)底层源码的分析与总结

    HashMap不是线程安全的,如果需要线程安全的Map,可以使用Hashtable。 LinkedHashMap与HashMap类似,但保持了插入顺序或访问顺序。TreeMap使用红黑树,保证了键的排序。 总的来说,理解这些集合的底层实现对于优化...

    阿里巴巴电话面试试题.doc

    本资源摘要信息涵盖了 Java 集合框架的基本概念和实现细节,着重介绍了 Java 集合框架中的 HashMap、Hashtable、ArrayList、LinkedList 等常用类,并对比了 Hashtable 和 HashMap 的区别,详细分析了两者在源代码...

    java集合类面试题总结

    List 中包括 ArrayList、LinkedList、Vector 等,Set 中包括 HashSet、LinkedHashSet 等,Map 中包括 HashMap、Hashtable 等。 List、Set、Map 是否继承自 Collection 接口 List 和 Set 继承自 Collection 接口,...

    map,list,set,stack,queue,vector等区别和特点1

    在Java编程语言中,集合框架是处理对象组织和操作的...在多线程环境中,线程安全的实现如Vector和Hashtable是必要的,但在单线程或性能要求较高的情况下,非线程安全的实现如ArrayList、LinkedList和HashMap通常更优。

    农行研发中心-校招常见面试题汇总.pdf

    HashMap和HashTable的主要区别是HashMap线程不安全,而HashTable线程安全。 HashMap允许键值为null,而HashTable不允许键值为null。HashMap继承自AbstractMap,而HashTable继承自Dictionary。 在选择HashMap还是...

    02-Java集合容器面试题-重点.docx

    Java集合容器概述、集合框架、List、Set、Map接口、Iterator、ArrayList、LinkedList、Vector、HashSet、HashMap、Queue、BlockingQueue、ConcurrentHashMap等。 Java 集合容器概述 Java 集合容器是用于存储数据...

    集合框架的各自区别.pdf

    在日常开发中,ArrayList、HashSet和HashMap是最常用的集合类型。ArrayList提供了快速的随机访问,适用于大部分情况;HashSet提供了快速查找和去重功能;HashMap则通过键的哈希值实现快速查找。在多线程环境下,需...

    应聘Java笔试时可能出现问题

    本文将深入探讨Java基础、集合框架以及常见数据结构如ArrayList、Vector、HashMap和Hashtable之间的区别。 1. **Java访问修饰符**:在Java中,`public`、`private`、`protected`以及默认(无修饰符)定义了类成员的...

    阿里巴巴电话面试试题(含答案).doc

    它包括了接口(如List、Set、Map)和类(如ArrayList、HashSet、HashMap)。这个框架使得程序员能够更加灵活地管理和操作数据。 2. **HashMap和Hashtable的区别**: - **同步性**:Hashtable是线程安全的,所有...

    Java集合容器面试题(2020最新版)-重点.pdf

    4. 线程安全:某些集合类如Vector和HashTable是线程安全的,但大多数集合类如ArrayList、HashMap不是。为了在多线程环境下保证安全,可以使用Collections.synchronizedXXX方法同步集合,或者使用ConcurrentHashMap等...

    Java集合框架面试题

    3. Vector 和 ArrayList 的区别: - a) Vector 和 ArrayList 都是实现了基于动态数组的数据结构,如果集合中元素的个数大于目前集合数组的长度时,Vector 增长率为目前数组长度的 100%,ArrayList 则为目前数组长度...

    Java 最常见的 208 道面试题:第二模块答案

    **HashMap 和 Hashtable 的区别**: - **线程安全性**:Hashtable 是线程安全的,而 HashMap 不是。在多线程环境中,若需要线程安全,可以选择 ConcurrentHashMap。 - **空值支持**:HashMap 允许键值为 null,而 ...

    java软件工程师基础

    2. **ArrayList与Vector的区别,HashMap与Hashtable的区别**: - **ArrayList与Vector**: - 同步性:Vector是线程安全的,ArrayList不是。 - 扩容策略:Vector默认扩容为原大小的2倍,ArrayList为1.5倍。 - **...

    java实验04.pdf

    实验涵盖了ArrayList、Vector、HashSet、TreeSet、HashMap、TreeMap以及HashTable等集合接口及其主要实现类的使用。 实验的第一部分涉及List接口,特别是ArrayList和Vector的使用。实验要求创建一个ArrayList实例,...

    java常用集合框架.pdf

    本文将深入探讨Java中的常用集合框架,包括Map、Set和List接口以及它们的一些实现类,如HashMap、Hashtable、HashSet、ArrayList、LinkedList和Vector。 首先,我们来看Map接口。Map接口定义了一个键值对的存储结构...

    Java 集合学习指南 - v1.1.pdf

    本指南将深入探讨HashMap、HashSet、HashTable、LinkedHashMap、LinkedHashSet、ArrayList、LinkedList、ConcurrentHashMap等主要集合类的实现原理,以及它们在实际应用中的选择与比较。 首先,HashMap是最常用的...

    java中集合类的区别

    #### 一、ArrayList与Vector **ArrayList** 和 **Vector** 都是实现了 **List** 接口的动态数组实现。它们的主要区别在于线程安全性和性能方面。 - **ArrayList**: 不是线程安全的,因此在多线程环境下使用时需要...

Global site tag (gtag.js) - Google Analytics