题目:分别说明HashSet,HashMap,ArryList,LinkedList都应用在什么情况?这个真是把我问住了,想必面试的结果也很清楚了。其实这个问题我一直也很想知道,但总是没提到日程上来,今天就想请各位帮个忙让我搞明白他,谢谢!

解决方案 »

  1.   

    不好意思我只知道ArryList是用在数组里面的别的就不太清楚的
      

  2.   

    “HashMap,ArryList 我经常使用,它们正好符合我接触到的一些需求。HashSet,LinkedList 我从未使用过,我似乎未碰到需要使用它们的需求。如果你对它们有兴趣,给我一分钟,让我查一下文档。”哈,我想我会这么说。:)
      

  3.   

    那帮忙告诉我HashMap,ArryList在什么情况应用也行,那两个我再查.
      

  4.   

    分别说明HashSet,HashMap,ArryList,LinkedList都应用在什么情况?
    HashSet 和HashMap ArrayList 都属于迭代器吧。linkedList我没用过。不知道。。自已可以查一下HashMap
    基于哈希表的 Map 接口的实现。提供所有可选的映射操作,也就是get和put
    HashSet
    基于哈希表的Set接口的实现,和前者功能差不多.好像只是这个有顺序,也就是你放入的顺序不会改变..好像是这样前两者主要用于将一个实例放入里面。以后好取。。要覆盖hashcode方法
    ArrayList
    同样的..是一个集合数组,相当于一个数组吧。。他是基于List接口的实现..三者主要用于把很多对象放于一个集合.ArrayList在jsp中用得多。这个我经常用..用于把数据库的结果集放进去。然后在jsp上读出来.不知道这样解释对不对..凭个人经验..请高手指教..小弟也是初学者
      

  5.   

    首先你应该回答他们是一些collection接口的具体实现类,例如HashSet实现了Set接口
    Set接口、Map接口、List接口分别干什么的?一望便知。如果这个都不知道那最好别做程序员了。其次,你应该回答不同的实现是使用了不同的实现方式和算法。例如HashXXX使用了Hash表技术,ArrayList使用数组保存,而LinkedList是使用链表。如果不知道我在说什么,那赶紧补习数据结构的基本常识。再次,你应该回答它们有什么特性,分别用于什么场合。例如LinkedList在遍历的时候很高效。HashXXX都是无序的(楼上有人正好回答错误),之类的。
      

  6.   

    LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
      

  7.   

    首先你要熟悉一下集合类的层次关系。
    简单点说JAVA里面把集合分为了两种类型list和map,list下面有分为list和set。
    collection是集合类,类似与数组一样的容器。
        list是连表类,没有对里面的内容做限制。
        set类似连表,但内容不可重复。
    map是键值对的集合(key-value)。再看下HashSet,HashMap,ArryList,LinkedList
        HashSet和HashMap都是以hash码为基础的。HashSet保证集合中的元素没有相同元素(相同的判断标准是hashCode相同并且equal判断相等)。HashMap保证集合中没有相同的key。
        ArryList,LinkedList都是List的子类,使用方式和效果差不多,不同的是性能。ArrayList是以数组为基础的,遍厉效率高,但集合元素变动频繁时性能低。LinkedList是以连表为基础的,遍历效率不高,但是元素变动效率高,可以用来实现Stack和Queue.
        其它还有一些集合类,自己看看文档
      

  8.   

    superman421(38度的雪)
    高手,学习!
      

  9.   

    看了这个问题,我想快速成为JAVA高手,是一个不能想象的事情了。而且还是自学
      

  10.   

    哎,真想找几个学java一起学习
      

  11.   

    什么时候该使用哪种数据结构,这些问题其实都在TIJ里面讲了,如果你认真地读了这本经典的话
      

  12.   

    数据结构其实不用读TIJ,是个计算机课程都会讲的(oa考证除外,呵呵)
      

  13.   

    HashSet和HashMap都是以hash码为基础的。HashSet保证集合中的元素没有相同元素(相同的判断标准是hashCode相同并且equal判断相等)。HashMap保证集合中没有相同的key。
        ArryList,LinkedList都是List的子类,使用方式和效果差不多,不同的是性能。ArrayList是以数组为基础的,遍厉效率高,但集合元素变动频繁时性能低。LinkedList是以连表为基础的,遍历效率不高,但是元素变动效率高,可以用来实现Stack和Queue.
      

  14.   

    HashSet:元素无序,无重复,可用来放一个班的学生集合,
    HashMap:元素无序,无重复,可用来放商品和它们各自的数量ArrayList:可用来放变化不大的线性集合,元素之间有次序
    LinkedList:放经常变化的线性集合,元素之间有次序序
      

  15.   

    你去看文档吧在java.util.*包含你说的这几个。
      

  16.   

    简单一点说吧:
      ArrayList类:支持按需要增长的动态数组,一个ArrayList对象实际上就是指向一个可变长数组的引用.  LinkedList类:构造一个空链表或者有给定集合链表.  HashSet类:创建一个散列表存储的数据集合.  HashMap类:也属于散列存储,但是和HashSet的区别在于,HashSet实现的是Set接口,而Set接口又是Collection接口的扩展,Set规定集合中不允许有相同的元素;而HashMap实现了Map接口,Map接口规定了这么一种集合:关键字/值一起存储.  另外,HashSet和HashMap中的元素存储都是无序的;ArrayList和LinkedList都实现了List接口,List接口规定集合里可以有相同的元素.  最基础的接口就是Collection,由它派生了三个接口:List、Set、SortedSet,其他的集合类在这三个接口基础上扩展.  要是你对链表和散列表的概念不大熟悉,可以翻翻数据结构的教材.最后,我认为迭代器也有必要弄清楚,特别是设计模式里有一章讲的迭代器模式有助于你理解~(讲得有点不清楚,倒过来看就好了)
      

  17.   

    HashSet,HashMap,ArryList,LinkedList
       hash的2个用的少不太会```
       ArrayList 这个通常在存储对象组的时候,在多用于读取的时候使用
       LinkedList 这个因为在内存中是分散存在的,所以通常是多用于增加和删除的时候使用
       不对的请大家指点
      

  18.   

    ArrayList是一种类似数组的形式进行存储,因此它的随机访问速度快,而LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作,HashSet能快速定位一个元素,在Set中的对象元素不能重复,Map是一种把键对象和值对象进行关联的容器,多个键值可以映射到同一个值对象上
      

  19.   

    一般情况下,你只需要懂得HashMap和ArrayList就够了。至少我现在就没有碰到需要那两种数据结构的需求。
    即使你在java这个领域做很久,如果你没有接触过,也未必会懂一些比较偏门的东西。比如做jsp的,不一定非要熟悉applet,做rmi的可能不清楚什么是rmi。还有hibernate,sturts、界面编程、游戏开发等等。只要懂得一些基础,经常练练手就可以了。很多东西只是当你需要的时候才会接触,熟悉。如果面试你的是做业务的,他很快就能从你的回答出分辨出你的能力、水平和潜质。他不需要标准答案;如果面试你的是人事的,而且很明显他居然拿了一份标准答案,那么你最好还是走人,他们公司不一定有你适合的环境。
      

  20.   

    学习
    java.util.*;
    确实是个好类