Java-------colletion集合

colletion集合

1.集合存在的意义:

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

2.集合和数组的区别

(1)数组可以存储基本数据类型和引用数据类型;
集合只能存储引用数据类型,在存储基本数据类型时,会自动进行自动装箱成引用数据类型(基本类型包装类
(2)数组的长度时固定的,不能自然增长;
集合的长度不固定,可以随着元素的增加而增长

3.集合和数组分别什么时候用

(1)如果元素的个数固定,使用数组;
(2)元素的个数不固定,使用集合;(在计算机内部,集合根据元素的个数每次扩充1.5倍,建立新的数组,将原来数组中的元素复制到新数组中,原来数组则会变成垃圾,对内存的占用不利,在数据的长度固定时,尽量使用数组)

4.集合继承体系图

在这里插入图片描述

5.集合转为数组
  • 【好处】:在使用集合时,如果我们需要用集合中每个元素的单个性质时,使用集合的特有的方法不能帮助我们遍历元素内部的性质,此时我们可以将集合转化为数组
Collection c = new ArrayList();
c.add(new Student("李四",24));
c.add(new Student("王五",25));
c.add(new Student("赵六",26));

Object[] objects = c.toArray();//toArray()返回Object数组
//foreach (集合中每个元素的类型 变量名:集合名),底层依赖迭代器
for (Object a:objects) {
    Student s = (Student)a;
    System.out.println(s.getName() + " " + s.getAge());
}
  • 函数add()与addAll()的区别:add()是将集合中的对象一个一个添加到新的集合中,addAll()是将新的集合作为一整个元素加入到新的集合中
    例:集合a 【1,2,3】
    集合b 【4,5,6】
    add() :【1,2,3,4,5,6】
    addAll():【1,2,3,【4,5,6】】
  • retainAll()是改变原集合,保留两个集合中的交集元素,此函数返回布尔类型,当集合改变时返回true,当取交集之后原集合不变返回false。
    例:集合A 【1,2,3】
    集合B 【4,5,6】
    返回true,集合A改变为【】
    集合C【1,2,3】
    集合D 【1,2,3,4,5】
    返回false,因为集合C没有改变
6.迭代器遍历集合
Collection c = new ArrayList();
c.add(new Student("李四",24));
c.add(new Student("王五",25));
c.add(new Student("赵六",26));

Iterator iterator = c.iterator(); //获取一个迭代器
while (iterator.hasNext()) {
    //System.out.println(iterator.next());基本数据类型
    Student student = (Student)iterator.next();  //向下转型
    System.out.println(student.getName() + " " + student.getAge());
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值