集合框架(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)的主要内容,如果未能解决你的问题,请参考以下文章

实体框架代码优先 - 将两个字段合并为一个集合

text 来自Codyhouse框架的Browserlist片段源代码

金蝶handler中 collection 代码片段理解

集合框架— —学习总结

Alfred常见使用

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段