Java基础语法----集合(1)collection接口、list接口

本文介绍了Java集合的由来,比较了集合与数组的区别,并详细讲解了Collection接口,包括添加、删除、判断、获取等功能。接着探讨了List接口,强调其有序、可重复的特点,以及特有的添加、移除、获取和更改元素的方法。同时,文章还讨论了并发修改异常的产生原因和解决方案。
摘要由CSDN通过智能技术生成
一、集合
   1、集合的由来:

      面向对象语言对事物的体现就是以对象这个形式,所以为了方便对这个对象进行操作,Java提出了集合类这个概念,可以将数据以集合的形式存储访问。

   2、集合和数组的区别:

    * 数组定义时会设置固定的长度,而集合的长度不固定;

    * 数组既可以存储基本数据类型,也可以存储引用数据类型,而集合只能存储引用数据类型,

      注意:

          当集合存储基本数据类型时,会进行自动装箱操作,将基本数据类型转换为相对性的引用数据类型(如int对应的引用类型是integer)。

    * 数组只能存储同种类型的数据,一个集合的对象可以存储各种类型的数据。


   3、集合体系继承图(仅仅是常用的一些接口、类)



二、Collection接口
    1、Collection接口概述:它是所有集合的根接口。
    2、Collection集合的功能:

    1) 添加功能

    *  boolean add(Object obj):添加一个元素

       例:

   

import java.util.ArrayList;
import java.util.Collection;

public class Test {
    public static void main(String[] args) {
        Collection con = new ArrayList();
        con.add(1);
        System.out.println(con);
        con.add("arr");
        System.out.println(con);

    }
}

//运行结果

         [1]

         [1,arr]


    * 添加一个集合 boolean addAll(Collection c);

    例:

import java.util.ArrayList;
import java.util.Collection;

public class Test {
    public static void main(String[] args) {
        Collection con = new ArrayList();
        con.add(1);
        con.add("arr");
        System.out.println(con);

        Collection con1  = new ArrayList();
        con1.add(2);
        con1.add(23);
        con1.add("str");
        System.out.println(con1);
        //添加功能
        con.add(con1);
        System.out.println(con);


    }
}


//运行结果

[1, arr]
[2, 23, str]
[1, arr, [2, 23, str]]

Process finished with exit code 0


 2)  删除功能

    *  void clear():移除所有元素

  *  boolean remove(Object o):移除一个元素

  *  boolean removeAll(Collection c):移除一个集合的元素,(例:con.removeAll(con1),即就是删除con集合中与con2集合交集的元素, 如果没有交集元素,则返回值为false,反之,返回值为true。

  

案例:定义一个学生Student类,再创建该类的集合对象,并对上述的三种删除方法进行测试:

//学生类

public class Student {
        private String name;
        private String sex;
        private int age;


        public Student() {
        }
        public Student(String name, String sex, int age) {
            this.name = name;
            this.sex = sex;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getSex() {
            return sex;
        }

        public void setSex(String sex) {
            this.sex = sex;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

    @Override  //toString()方法的重写,打印对象的成员变量的值
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                '}';
    }
}


//测试类                                                      
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值