六、java的集合类

来源:互联网 发布:sql中distinct用法 编辑:程序博客网 时间:2024/05/08 05:15

1.         什么是集合类?

作用是什么?

集合类的作用是可以存放一组数据的容器。

特征:

    集合存放的信息数据类型可以不同

   只能存放引入类型的数据;

   集合类的大小是可变的。

   往集合类对象中存放引用类型的数据时,引用类型的数据类型会被隐藏。

解释:比如说集合类对象中存放一组学生信息(Student)。

    在真正存放的过程中,把Student对象转换为Object进行存放。

    

2.         集合类分类

Set集合 list集合 map集合

 

 

java中所有集合类,都来看于java.util.*,说明一些容器类。

 

3.         Set集合类(属于Collection的子类)

Set集合类的容器如何使用?创建容器、向容器添加信息,从容器中获取信息,删除容器中存放的信息。

 

/**

     *@paramargs

     */

    publicstaticvoid main(String[] args) {

       //创建容器

       Set strSet = new HashSet();

       //向容器添加信息

       strSet.add("a");

       strSet.add("b");

       strSet.add("c");

       strSet.add("c");

       System.out.println(strSet.size());

       //从容器中删除信息

       strSet.remove("a");

       System.out.println(strSet.size());

       //获取容器中存储的信息

       //遍历set中信息,需要使用Iterator接口。(遍历器)

       Iterator setItr = strSet.iterator();

       //两个方法 hasNextnext

       while(setItr.hasNext()){

           System.out.println(setItr.next());

       }

 

    }

4.         List(属于Collection的子类)

List使用:创建容器,向容器中添加信息,删除信息,获取信息

//创建容器

       List strList = new ArrayList();

       //存放信息(list会存放下标信息)

       strList.add("张三");

       strList.add(0, "李四");

       strList.add("王五");

      

       //获取信息

       System.out.println(strList.get(0));

      

       //删除信息

       strList.remove(0);

       //循环遍历list集合中存放信息

       for(int i=0;i<strList.size();i++){

           System.out.println(strList.get(i));

       }

       for(Object temp:strList){

           System.out.println(temp);

       }

      

       //创建容器

       List strList02 = new LinkedList();

       //额外加了几个方法,比如:

       /* void addFirst(E o)   

         void addLast(E o)

        E getFirst()

         E getLast()*/

5.         Map

1:同时放两个值key=value. > keyvalue都是对象类型,只是我们习惯上使用<String,Object>

2key值不能重复,如果有重复后面的值会覆盖前面的值。

3value值可以重复。

4:获取值时可以通过指定key的方式来获取值,map.get(key) = value

5:不排序。可以实现一个TreeMap实现根据Key进行的排序。

6map中的每一个key=value都叫一个实体。Map.Entry

7map集不是Collection的子类。

publicstaticvoid main(String[] args) {

       //创建容器

       Map mapDemo = new HashMap();

      

       //往容器中存放数据

       mapDemo.put("张三", 4500);

       mapDemo.put("李四", 3500);

       mapDemo.put("王五", 3000);

      

       //从容器中删除信息

       mapDemo.remove("王五");

       mapDemo.put("王五", 3000);

       //获取容器里面的信息

       System.out.println(mapDemo.get("王五"));

       //遍历容器中的所有信息

       //map中存放的一组键值对,存放set集合类(Map.Entry)中。

       Set entryDemo = mapDemo.entrySet();

      

       //遍历上面的set即可

       Iterator setItr = entryDemo.iterator();

       //两个方法 hasNextnext

       while(setItr.hasNext()){

           Map.Entry temp = (Map.Entry)setItr.next();

           System.out.println(temp.getKey()+":"+temp.getValue());

       }

    }

 

6.         Iterator接口(遍历器),迭代集合对象里面存放的信息

hasNext()和next()方法

7.        泛型:

集合类有个特点:

往集合类对象中存放引用类型的数据时,引用类型的数据类型会被隐藏。

解释:比如说集合类对象中存放一组学生信息(Student)。

    在真正存放的过程中,把Student对象转换为Object进行存放。

泛型如何用?解决了上面提到的问题

集合类型<存放的数据类型>

0 0
原创粉丝点击