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

有关容器的复习笔记

    博客分类:
  • Java
阅读更多

马上就要毕业了,最近忙着复习一些基础知识。为的就是能在应聘的时候有个好的表现。

其实有半个学期没有接触java了,希望这次复习能够让自己在即将到来的应聘中,有个上等的表现。

 

这次复习的是java容器 方面的知识。

 

什么是java容器:

 

查了一下百度百科,发现是这么定义的:

百度百科写道
Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap

 

自己也查了一些资料,也明白了在java.util的包内,有着容器的接口:Collection和Map。

 

Collection这个接口里面定义了一些存取对象 的方法。

Collection又被两个接口继承:Set 和 List。

Set 和 List 的主要区别就是 Set中没有顺序,而且可以存放重复对象,而List则刚好相反。

 

Map这个接口主要是定义了存储键值映射对的方法。

 

比如ArrayList和LinkedList是实现List的接口(关于ArrayList和LinkedList的区别 );

      ArrayList 和 LinkList 的区别就是:A读快改慢 L读慢改快。

      HashSet是实现Set的接口;

 

而 HashMap是实现Map的接口。

 

Collection有一系列的方法,其中,比较重要的方法就是iterator ,这个方法返回的是 Iterator对象。

 

这个Iterator也是一个接口。里面定义了三个方法

Iterator接口定义的方法 写道
boolean hasNext()
如果仍有元素可以迭代,则返回 true。

E  next()
返回迭代的下一个元素。

void remove()
从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。
 

在迭代过程中,应使用Iterator的remove方法移除Collection的对象。

 

 

现在再复习一下List这个接口,在这个接口里面,最重要的实现有两个:ArrayList 和 LinkedList

查看API文档得知List 除了继承了Collection的方法之外,还另外定义了一些方法。

诸如 get, set, indexOf 等等。

 

然后就是Map,HashMap 和 TreeMap是两种重要的实现。

 

最后就是泛型。关于泛型的好处,参照这里

 

至此,java容器应该是复习完了。如果还有知识点没有注意到,欢迎指出

2
2
分享到:
评论
6 楼 qinjingkai 2009-04-13  
楼主要说的是复习java中的集合类把,什么容器类 听上去很另人费解
5 楼 njuptsoz 2009-01-11  
jianchen 写道

引用:[b引用]Set 和 List 的主要区别就是 Set中没有顺序,而且可以存放重复对象,而List则刚好相反。[/b]我想应该是笔误吧.纠正一下:Set中的元素是没有顺序,但不可以重复的对象.想想也知道,Set是数学中集合的概念的抽象.而List是一个有序的集合,也可称为列表或序列.List中可以包含重复的元素,类似与数组咯,通过索引来存取元素.我们比较常用的是Vector.


是啊,笔误了。集合没有顺序,也不可以有重复的元素!谢谢提醒!
4 楼 jianchen 2008-12-07  
引用:[b
引用
]Set 和 List 的主要区别就是 Set中没有顺序,而且可以存放重复对象,而List则刚好相反。
[/b]
我想应该是笔误吧.纠正一下:
Set中的元素是没有顺序,但不可以重复的对象.想想也知道,Set是数学中集合的概念的抽象.
而List是一个有序的集合,也可称为列表或序列.List中可以包含重复的元素,类似与数组咯,通过索引来存取元素.我们比较常用的是Vector.
3 楼 njuptsoz 2008-10-03  
谢谢提醒
2 楼 njuptsoz 2008-10-03  
dayang2001911 写道

HashMap 与HashTable之间的不同之处是什么?

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

1 楼 dayang2001911 2008-10-03  
HashMap 与HashTable之间的不同之处是什么?
HashMap 是非线程安全的,HashTable是线程安全的。
你再继续查查其他的区别,这个区别应该常考

相关推荐

Global site tag (gtag.js) - Google Analytics