`
evoleht
  • 浏览: 98467 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)java集合类总结

    博客分类:
  • java
阅读更多

 

下面是我自己画的,关系画得没上面好,但我自己看着清楚些



还有一张下载来的:




 

 

几个面试常见问题:
1.Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?
   A:Vector和HashTable是线程同步的(synchronized)。性能上,ArrayList和HashMap分别比Vector和Hashtable要好。

2.Q:大致讲解java集合的体系结构
   A:List、Set、Map是这个集合体系中最主要的三个接口。
      其中List和Set继承自Collection接口。
      Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。
      List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
      Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是三个主要的实现类。
      SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。

3.Q:Comparable和Comparator区别
    A:调用java.util.Collections.sort(List list)方法来进行排序的时候,List内的Object都必须实现了Comparable接口。
        java.util.Collections.sort(List list,Comparator c),可以临时声明一个Comparator 来实现排序。
        Collections.sort(imageList, new Comparator() {
            public int compare(Object a, Object b) {
                int orderA = Integer.parseInt( ( (Image) a).getSequence());
                int orderB = Integer.parseInt( ( (Image) b).getSequence());
                return orderA - orderB;
           }
        });
        如果需要改变排列顺序
        改成return orderb - orderA 即可。

4.Q:简述equals()和hashCode()
    A:...不知道。下回分解

public interface
Collection
            extends Iterable


public interface
List
            extends Collection


public abstract class
AbstractList
            extends AbstractCollection
            implements List


public class
Vector
            extends AbstractList
            implements List,
                                   RandomAccess,
                                   java.lang.Cloneable,
                                   java.io.Serializable
基于Array
是“sychronized


public class
ArrayList
       
extends AbstractList
       
implements List,
                          RandomAccess,
                          Cloneable,
                          java.io.Serializable
基于Array
ArrayList非同步的。所以在性能上要比Vector优越一些


public class
LinkedList
        extends AbstractSequentialList
        implements List,
                          Queue,
                          Cloneable
,
                          java.io.Serializable
不基于Array

基于ArrayListVectorArrayList)适合查询,而LinkedList(链表)适合添加,删除操作




List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是SetList的根本区别
public abstract class AbstractSet
    extends AbstractCollection
    implements Set



public class HashSet
    extends AbstractSet
    implements Set, Cloneable, java.io.Serializable
HashSet的存储方式是把HashMap中的Key作为Set的对应存储项


public class LinkedHashSet
    extends HashSet
    implements Set, Cloneable, java.io.Serializable


public class TreeSet
    extends AbstractSet
    implements SortedSet, Cloneable, java.io.Serializable
它是通过SortedMap来实现的




public interface Map<K,V>


public abstract class AbstractMap<K,V>
    implements Map<K,V>


public class HashMap<K,V>
    extends AbstractMap<K,V>
    implements Map<K,V>, Cloneable, Serializable


public class TreeMap<K,V>
    extends AbstractMap<K,V>
    implements SortedMap<K,V>, Cloneable, java.io.Serializable

HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)

转自http://www.blogjava.net/EvanLiu/archive/2007/11/12/159884.html

更详细的可以看:
http://www.frontfree.net/view/article_695.html
http://blog.csdn.net/happyzhm5/archive/2007/03/17/1532101.aspx
http://blog.csdn.net/Java_apprentice/archive/2007/07/20/1700351.aspx

解析Java对象的equals()和hashCode()的使用: http://tmsoft.lsxy.com/index.php?id=82&load=read

  • 大小: 160.7 KB
  • 大小: 35.4 KB
分享到:
评论

相关推荐

    java常用集合类总结

    "Java集合类总结" Java集合类是Java语言中的一种重要数据结构,用于存储和管理数据。Java集合类可以分为两种:Collection接口和Map接口。Collection接口有两个子接口:List接口和Set接口。List接口是有序的,可以...

    java集合类总结

    本文将对Java集合框架中的Collection接口及其相关接口、类进行深入的探讨。 首先,Collection接口是所有单值容器的基础,它是Set、List和Queue接口的父接口。Collection接口定义了通用的操作方法,如`add()`用于...

    java集合分类总结.doc

    Java集合分类总结 Java集合分类总结是Java语言中的一种容器,用于存储和管理多个对象。集合可以自动扩容,部分集合允许存放不同类型的元素。集合的主要分类有List、Set、Map等。 List集合是一种有序列表,允许存放...

    Java集合类详解总结

    ### Java集合类详解总结 在Java编程中,集合框架(Collection Framework)是处理一组对象的强大工具,它提供了标准的数据结构来存储和操作这些对象。Java集合框架主要包括`Collection`、`Set`、`List`、`Queue`、`...

    Java集合框架总结

    ### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...

    Java集合类总结

    ### Java集合类总结 #### 一、概述 Java集合类框架是Java标准库的一个重要组成部分,主要用于存储和处理数据集合。这些集合类被定义在`java.util`包中,为开发者提供了灵活的数据结构来实现各种应用程序的需求。...

    java集合类面试题总结

    Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    第13讲 JAVA集合类.ppt

    总结来说,Java集合类通过提供丰富的接口和实现,使得Java开发者可以灵活选择适合特定需求的数据结构,提高代码的可读性和性能。理解并熟练掌握这些集合类和接口,对于编写高质量的Java程序至关重要。

    JAVA集合类总结[整理].pdf

    JAVA集合类总结[整理].pdf

    JAVA集合类用法总结

    Java集合类是Java编程语言中不可或缺的一部分,它们提供了一种高效、灵活的方式来存储和操作对象。集合类的主要接口包括Collection、List、Set和Map,这些接口定义了各种操作集合对象的方法,比如添加、删除、修改和...

    (zz)java集合类总结

    ### Java集合类总结 在Java开发中,集合类(Containers)是极其重要的组成部分,它们作为开发者日常编程不可或缺的工具,不仅让代码变得更加简洁、高效,还能显著提升程序的功能性和灵活性。本文将对Java标准类库中...

    Java集合详解,详细讲解java的集合类

    本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...

    java集合类知识总结--思维导图文件xmind

    java集合类知识总结--思维导图文件xmind xmind文件类型 总结了java常用集合相关问题 包括map、set、list、数组等

    java中的集合类总结

    以下是对标题和描述中提到的Java集合类的详细总结: 首先,所有Java集合类都继承自`java.util.Collection`接口。`Collection`接口是所有集合框架的基础,它定义了集合的基本操作,如添加、删除和遍历元素。`...

    java基本集合类,java基本集合类

    总结来说,选择哪种集合类取决于具体的需求,如是否需要保持元素顺序、是否允许重复元素、是否关心线程安全以及性能要求等。理解这些基本集合类的特性和工作原理,可以帮助我们更有效地使用Java集合框架来解决实际...

    java集合类的全解

    ### Java集合类详解 #### 一、概述 Java集合框架是Java编程语言中处理数据结构的一个重要组成部分。它提供了一套标准的接口和实现来帮助开发者高效地存储、检索和操作对象。Java集合主要包括两大类型:`Collection...

Global site tag (gtag.js) - Google Analytics