`
itwangxinli
  • 浏览: 143527 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

> IOC是一种新的设计模式,即IOC模式,系统中通过引入实现了IOC模式的IOC容器,即可由IOC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配件文件进行应用程序组件间相互关系的配置,而不用重新修改并编译具体的
> Java代码。
>
>
> 平常经常使用的创建一个新的List的语句,在这里, List是接口,ArrayList才是具体的类。
>
> 常用集合类的继承结构如下:
> Collection<--List<--Vector
> Collection<--List<--ArrayList
> Collection<--List<--LinkedList
> Collection<--Set<--HashSet
> Collection<--Set<--HashSet<--LinkedHashSet
> Collection<--Set<--SortedSet<--TreeSet
> Map<--SortedMap<--TreeMap
> Map<--HashMap
>
>
> List总结:
>
> 所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。例如:[ tom,1,c ]
> 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ]
> 所有的List中可以有null元素,例如[ tom,null,1 ]
> 基于Array的List(Vector,ArrayList)适合查询,而LinkedList 适合添加,删除操作.
>
>
>
> Set是一种不包含重复的元素的无序Collection。
>
> HashSet:
> 虽然Set同List都实现了Collection接口,但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是在
> HashMap的基础上来实现的,这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。看看
> HashSet的add(Object obj)方法的实现就可以一目了然了。
>
> 个也是为什么在Set中不能像在List中一样有重复的项的根本原因,因为HashMap的key是不能有重复的。
>
> LinkedHashSet:
> HashSet的一个子类,一个链表。
>
> TreeSet:
> SortedSet的子类,它不同于HashSet的根本就是TreeSet是有序的。它是通过SortedMap来实现的。
>
> Set总结:
> Set实现的基础是Map(HashMap)
> Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象.
>
> Map有两种比较常用的实现:HashMap和TreeMap。
> HashMap也用到了哈希码的算法,以便快速查找一个键.
>
> TreeMap则是对键按序存放,因此它便有一些扩展的方法,比如firstKey(),lastKey()等,你还可以从TreeMap中指定一个范围以取得其子Map。
>
> 键和值的关联很简单,用put(Object key,Object value)方法即可将一个键与一个值对象相关联。用get(Object
> key)可得到与此key对象所对应的值对象。
>
> 总结:
>
> 1.ArrayList: 元素单个,效率高,多用于查询
> 2.Vector: 元素单个,线程安全,多用于查询
> 3.LinkedList:元素单个,多用于插入和删除
> Set基于HashMap,无重复,可以为Null;
> 4.HashMap: 元素成对,元素可为空
> 5.HashTable: 元素成对,线程安全,元素不可为
>6.TreeMap和TreeSet的数据都是有序的。
> --
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics