不要刷新

做下学习笔记,要不老忘,时间一长,什么都要重头再来...

容器(container)及相关知识点

学JAVA很长时间了,但对容器类一直没什么概念,老师没讲自己也没去看,也没做过什么项目...所以就一直搁浅了,说起来还真是惭愧,
JAVA还真是没入门呢,今天赶紧恶补一下,下了视频来看,对容器整体上有个初步的概念,做个笔记,以后回忆也方便点儿,要查API多运用了


容器 container

collection接口-定义了存取一组对象的方法,其子接口setlist分别定义了存储方式.

Set中的数据对象没有顺序且不可以重复(equals)

实现的就是数学概念上的集合,重复数据是不能被添加进去的

retainAll(Collection c) 交集

containsAll(Collection c) 全集

List中的数据对象有顺序且可以重复

ArrayList 以数组实现的;LinkedList 以链表实现的

map接口定义了存储"(Key)-(Value)映射对"的方法

put,get,putAll....

HashMap

TreeMap

Auto-boxing/unboxing(>jdk1.4)

在合适的时机自动打包,解包

Map m1 = new HashMap();

//m1.put("one",new Integer(1));

m1.put("one",1);//现在可以直接这么写了

//int i = ((Integer)m1.get("one")).intValue();

int i = (Integer)m1.get("one");//现在可以直接这么写了

如何选择数据结构

衡量标准:读的效率和改的效率

Array读快改慢

Linked改快读慢

Hash两者之间

Collections 此类完全由在 collection 上进行操作或返回 collection 的静态方法组成

sort()排序

shuffle()随即排序

reverse()反转

封装好的binarySearch()使用二分搜索法搜索指定列表,以获得指定对象

实现了java.lang.Comparable()接口的对象都可以排序,

补充:

Iterator 迭代器接口有3个方法

boolean hasNext();

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

void remove();删除,

迭代器运行的时候锁定操作,所以只有这个删除方法

增强的FOR循环,仅语法简便

int[] a ={1,2,3,4,5};

for( int i : a){

System.out.println(i);

//方便的遍历内容,但不能方便的访问数组小标

Collection c = new ArrayList();

c.add();

c.add();

c.add();

for(Object o: c){

System.out.println(o);

//iterator相比不能方便的删除集合中的内容

//内容也在调用iterator

}

泛型Generic(jdk1.5+)

API就可以了,直接指定类型,不用强制转换

Map<String, int> map = new HashMap<String,int>();

取数据也方便了



突然明白,崩溃的日子,是自己的不努力造成的.

posted on 2009-12-19 11:30 不要刷新 阅读(520) 评论(0)  编辑  收藏 所属分类: Java+Framework


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜