集合类的个人总结

 今天好崩溃,也是醉了,老师的讲课方式有点儿接受不了了,跟之前在视频上别的老师有点儿差距,并不是讲得不好,而是因为掌控不好时间造成一些东西没时间讲,直接跳过。好吧,不抱怨了,师父领进门修行在个人。好好总结总结集合吧。

 先说集合的概念,集合我觉得就像一个存放对象的数组,不过要比数组好得多,毕竟数组一旦创建长度就一定了嘛。

 java集合分为CollectionMap两种体系。

 Collection接口:这个特点是无序可重复,也就是说,这个里面存放的对象不按照先后添加顺序排序,不过集合内元素可以重复。

 有两个子接口,Set 和 List

 Set集合不允许包含相同的元素,Set集合判断两个对象是否相同是根据equals方法的。他主要是用HashSet实现类,HashSet是按Hash算法来存储集合中的元素,线程不安全,不过集合的元素可以使nullHashSet集合判断两个元素是否相等的标准除了equals的返回值以外,还有hashCode()方法的返回值。

 List集合类中元素有序,且可重复,这里面的每个元素都有对应的顺序索引。List的实现类常用的有ArrayListLinkedList Vector。当然还有一些常用的方法,我就不一一列出了。ArrayList是比较常用的实现类,虽然线程不安全但是效率高,VectorArrayList方法一样,而且线程安全,但是还是不推荐使用Vector,因为Vector效率低。而LinkedList类效率较高,适用于频繁的插入或者删除元素的操作。

 遍历集合元素时,有一个iterator接口,具体使用方法:

 Set set = new HashSet();

 Iterator it = set.iterator();

 while(it.hasNext()){

Object obj = it.next();

//System.out.println(obj);

 }

 如果是Map集合的话,用iterator遍历需要如下操作:

 Map map = new HashMap();

 Set set = map.keySet();

Iterator it = set.iterator();

  while(it.hasNext()){

 Object obj = it.next();

 Object obj2 =map.get(obj);

 //System.out.println(obj+ >>>>>>+obj2);

  }

后来又讲到了泛型,泛型其实就是在集合后面加入了< >,这里面写上类型,就可以约束集合所储存的对象类型,这样有时候需要取出对象使用时就不必强制转型了。

 然后就是另外一个大体系,Map接口。Map用于保存具有映射关系的数据 key -Value 。而且Map中的key是用Set来存放的,不允许重复的。而且keyvalue之间存在单向一对一关系。HashMapMap接口使用频率最高的实现类,不过我目前也就理解了一点儿点儿,主要的就是方法的调用还不太熟悉,还要好好下功夫好好看。

 好吧,今天就写到这里吧,好好看书写一下代码练习一下!

<!--EndFragment-->

猜你喜欢

转载自zxb9181213.iteye.com/blog/2264383
今日推荐