• Java集合类--->入门上篇


      最近我又在研究Java语言,这是第五次还是第六次学习Java的集合类,你也许会惊讶为什么这么多次?哈哈,因为之前的我没有记录下来,忘记了,当然最主要还是觉得自己毅力不够,没有坚持。那么,这次我将换一种方式进行Java的框架类学习:一是只学习常用的部分,二是一边学习一边写成博客,并用代码进行验证。

      集合类又叫容器类,容器是什么?容器就是装东西的,它在Java中就是装对象的,这时候我就纳闷儿了:数组不就可以存储各种各样的对象吗,又增加一个什么集合类,岂不是多此一举?于是我就开始查阅资料,终于得到一个结果,使用数组的确可以存储对象,但是如果对象数目无法确定的情况下,数组是不实用的,因为数组的长度是不变的,然而呢,集合类可以存储任意类型的对象,并且长度可以变。因此,我认为集合类可以完全取代数组,除非一些特别简单的情况,可以考虑使用数组,其余时候都应该首先考虑使用集合类。

      集合类按照存储结构(数据结构中又叫做物理结构)分为:单列集合、双列集合。

      哦,对了,所有的集合类都位于java.util包中,使用之前请务必import一下。

      接下来看看常用的集合框架图:(引用自网络)

      

      Collection:是单列集合的根接口。常用的两个子接口分别是List、Set。

             List的特点就是:元素序,元素可以重复。主要实现类ArrayList、LinkedList、Vector(如今很少用)。

             Set的特点就是:元素序,而且不能重复。主要实现类HashSet、TreeSet。

      Map:是双列集合的根接口,双列集合主要用来存储键值对。主要实现类HashTable、HashMap、TreeMap。

      我先学习的是单列集合,从根接口Collection开始。根接口定义了很多单列集合通用的方法,主要作用:在集合中添加元素、删除元素、获取集合中元素个数等。用实例对常用方法进行说明:(使用ArrayList举例)

      

    package testCollection;
    import java.util.*;
    //测试单列集合根接口Collection
    public class CollectionTest00 {
        public static void main(String[] args)
        {
            Collection coll = new ArrayList();
            Person person = new Person("仗剑走天涯", 23);
            person.toString();
            //向集合中添加一个元素 add()
            coll.add("ZSY is a beauty!");
            coll.add(123);
            coll.add(person);
            //获取该集合元素的个数 size()
            System.out.println("集合元素个数:"+coll.size()+"个");
            //判断该集合元素是否为空
            if(!coll.isEmpty())
                System.out.println("集合不是空!");
            else
                System.out.println("集合是空!");
            //判断是否包含某个元素contains(Object o)
            System.out.println(coll.contains(123));
            //删除集合中指定元素remove(Object o)
            System.out.println(coll.toString());
            coll.remove(123);
            System.out.println(coll.contains(123));
            System.out.println(coll.toString());
            //删除该集合中的所有元素
            coll.clear();
            System.out.println(coll.size());
            //再次初始化
            coll.add("ZSY is a beauty!");
            coll.add(123);
            coll.add(person);
            System.out.println(coll.size());
            //将指定集合中的所有元素添加到该集合中 addAll(Collection c)
            Collection coll1 = new ArrayList();
            coll1.addAll(coll);
            System.out.println("复制后的:
    "+coll1);
            //删除指定集合的所有元素
            coll.remove(123);
            System.out.println("删除前的:
    "+coll);
            coll1.removeAll(coll);
            System.out.println("删除后的:
    "+coll1);
            //返回在该集合的元素上进行迭代的迭代器,用于遍历该集合所有元素itrator
            Iterator it = coll.iterator();
            while(it.hasNext())
            {
                Object obj = it.next();
                System.out.println(obj);
            }
            //增强型for循环,进行遍历
            for(Object obj : coll)
            {
                System.out.println(obj);
            }
        }
        
    }
    
    class Person{
        private String name;
        private int age;
        
        Person(String name,int age)
        {
            this.name=name;
            this.age=age;
        }
        
        public String getName()
        {
            return this.name;
        }
        
        public int getAge()
        {
            return this.age;
        }
        
        public void setName(String name)
        {
            this.name=name;
        }
        
        public void setAge(int age)
        {
            this.age=age;
        }
        @Override
        public String toString()
        {
            String str = new String("我的名字叫:"+name+";我的年龄:"+age+"岁。");
            System.out.println(str);
            return str;   
        }
    }

      这里,必须隆重给自己介绍一下Itrator接口,它的中文名:迭代器------>实质功能就是用来进行循环遍历所有元素的,它也是集合框架中的一员。对于它的使用方式,常用的格式就是如代码所示:先得到Itrator对象,然后判断集合是否还有下一个元素,用next()方法取出下一个元素,记住规矩:先取后用

      代码中,还用到了增强型for循环,它的格式如下:

      for(集合类存储类型 变量名:集合的变量名)

      {

      执行语句...

      }//当然增强型for循环也适用于数组,例如:

            int[] a=new int[10];
            for(int i=0;i<10;i++)
            {
                a[i]=i+4;
            }
            for(int b:a)
            {
                System.out.println(b);
            }

      集合框架入门上篇,就到这里了,主要分析了单列集合的常用操作。

    附:以上程序运行结果:

      

  • 相关阅读:
    一个人的热闹
    关于Java单向链表头结点与头指针傻傻分不清
    Scanner输入的问题
    String、StringBuffer和StringBuilder的区别:
    偷吃的老人
    ubuntu 安装redis
    Ubuntu 安装 nginx
    谁再说不熟悉 Linux 命令,就把这个给他扔过去!
    ubuntu 安装mysql并设置密码
    题解 UOJ #99. 【集训队互测2015】普罗达科特
  • 原文地址:https://www.cnblogs.com/Cirgo/p/8445497.html
Copyright © 2020-2023  润新知