集合框架(01)
Posted sunshine_96
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合框架(01)相关的知识,希望对你有一定的参考价值。
1.集合:存储对象。 对象多了用集合存,数据多了用对象存
2.数组是固定长度,集合是不固定长度;数组是相同数据类型,集合是存储不同类型的对象
3
.
4.为什么会出现这么多的容器那,因为每一个容器对数据的存储方式都有不同,这个存储方式称之为:数据结构
5.集合中存放的不是实体,里面存放的实体的地址,===集合中存储的都是对象的引用(地址)
6.add方法参数类型是Object,以便于接受任意类型的对象
7.方法.retainAll()就是去掉交集,保留两个ArrayList中相同的元素
8.什么是迭代器那?其实就是集合的取出元素的方式
迭代器的例子:
package sxy; import java.util.*; public class CollectionDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List list = new ArrayList(); list.add("apple"); list.add("pear"); list.add("orage"); Iterator it = list.iterator();//迭代器用于遍历集合元素 while(it.hasNext()){ sop(it.next()); } } private static void sop(Object obj) { // TODO Auto-generated method stub System.out.println(obj); } }
9.就是把取出方式定义在集合内部,这样取出方式就可以直接访问集合内容的元素。那么取出方式就被定义成了内部类。而每一个容器的数据结构不同,所以出去的动作细节也不一样,但是都有共性内容的判断和取出,那么可以将写成共性抽取。
那么这些内部类都符合一个规则,该规则是Iterator,如何获取集合的取出对象那?通过一个对外提供的方法iterator()
10.Collection:
-----List:元素是有序的,元素可以重复,因为该集合体系有索引
-----Set:元素是无序的,元素不可以重复
利用迭代器对集合中的元素进行操作:
package sxy; import java.util.*; public class CollectionDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List list = new ArrayList(); list.add("apple"); list.add("pear"); list.add("orage"); sop(list); //在迭代器中,准备删除元素 Iterator it = list.iterator(); while(it.hasNext()){ Object obj = it.next(); if(obj.equals("pear")){ it.remove(); } } sop(list); } private static void sop(Object obj) { // TODO Auto-generated method stub System.out.println(obj); } }
在迭代时,不可以通过集合对象的方法操作集合中的元素。因为会发生并发修改异常,所以,在迭代器时,只能用迭代器的方法操作元素,但是Iterator方法时有限得瑟,只能对元素进行判断,取出和删除操作,如果想要其他的操作比如添加,修改等,就需要使用其子接口ListIterator,该接口只能通过List集合的ListIterator方法获取
以上是关于集合框架(01)的主要内容,如果未能解决你的问题,请参考以下文章