JAVA基础集合之Collection

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22067469/article/details/82181079

集合的由来

  • 集合的由来

    1、数组长度是固定,当添加的元素超过数组的长度时需要对数组重新定义,太麻烦
    2、java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少

  • 数组和集合的区别

    1、数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
    2、集合只能存储引用数据类型(对象),集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象,int - Integer
    3、数组长度是固定的,不能自动增长
    4、集合的长度是可变的,可以根据元素的增加而增长
    5、如果元素个数是固定的推荐用数组
    6、如果元素个数不是固定的推荐用集合

集合继承体系图

  • List: 有序集合,有索引,存与取的顺序一样,可以重复
  • Set: 无序集合,无索引,存与取的顺序不一样,不可以重复
    这里写图片描述

Collection集合基本功能

  • 基本功能方法
    boolean add(E e) 添加元素
    boolean remove(Object o) 移除元素
    void clear() 清空元素
    boolean contains(Object o) 包含某一个元素
    boolean isEmpty() 集合是否为空
    int size() 集合的大小
//创建一个集合对象
Collection coll = new ArrayList();//接口指向实现类【多态】
//添加元素
coll.add("Java");
coll.add("PHP");
coll.add("Python");
coll.add("H5");
System.out.println(coll);

//移除元素
coll.remove("PHP");
coll.remove("Python");
System.out.println(coll);

//清除所有元素
coll.clear();
System.out.println(coll);

//包含元素
//System.out.println(coll.contains("H5"));

//判断这个元素是否为空
//coll.clear();
//System.out.println(coll.isEmpty());

//查看集合有几个元素
System.out.println(coll.size());
  • 集合转数组
//1.创建集合对象
Collection coll = new ArrayList();

//2.添加元素
coll.add("apple");
coll.add("banana");
coll.add("orange");

//3.集合的遍历(集合转数组遍历)
/*String s = "b";
Object o = s;*/
Object[] objs = coll.toArray();
for(int i = 0;i < objs.length; i++){
    Object o = objs[i];
    System.out.println(o.getClass());
}


  • 集合遍历

迭代器是用来遍历集合的每一个元素的
迭代器有两个方法hasNext()和next()
// 案例1:迭代器的使用(案例)一个是字符串集合的遍历
Collection col1 = new ArrayList();
col1.add("苹果");
col1.add("芒果");
col1.add("奇异果");

//获取迭代器【迭代器不需要new,通过方法获取】
Iterator iterator = col1.iterator();
//System.out.println(iterator.getClass());是ArrayList的一个内部类

//遍历
while(iterator.hasNext()){//判断是否有下一个元素
    Object o = iterator.next();//获取下一个元素
    System.out.println(o);
}

// 案例2:迭代器的使用(案例)一个是学生对象集合的遍历
Collection col2 = new ArrayList();
col2.add(new Student("tony", 23));
col2.add(new Student("amy", 18));
col2.add(new Student("lucy", 29));

//获取迭代器
Iterator iterator2 = col2.iterator();
while(iterator2.hasNext()){
    Object stu = iterator2.next();
    System.out.println(stu);
}

猜你喜欢

转载自blog.csdn.net/qq_22067469/article/details/82181079