数组与集合区别

引用数据类型:CIA class,interface,array
在这里插入图片描述

		User u1 = new User(1, "fage", "123");
        User u2 = new User(2, "fali", "dd");
        User u3 = new User(3, "jack", "ss");
        User[] user=new User[]{u1,u2,u3} ;
        System.out.println(user);
        System.out.println(user[0]);
        System.out.println(user[1]);
        System.out.println(user[2]);
[Lcom.qf.entity.User;@29453f44
User(id=1, userName=fage, password=123)
User(id=2, userName=fali, password=dd)
User(id=3, userName=jack, password=ss)

在这里插入图片描述
在这里插入图片描述
基本类型--------- 基本类型包装类
byte --------- Byte
short --------- Short
int ---------Integer
long ---------Long
float ---------Float
double ---------Double
char ---------Character
boolean ---------Boolean
在这里插入图片描述
数组声明方式:

 //下面两种是:声明+分配空间+赋值 三合一了。
 int[] ints = {1,2,3,4,5};
 int [] arr=new int[]{1,3,4,6};
 int[] ints = Arrays.copyOf(arr, 8);    //参数1为老数组,
                                  参数2为新数组的长度返回新数组 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集合:

实现原理:采用动态对象数组实现。
空集合,首次调用add(E e)方法扩容,会将空集合扩容到10,之后如果再扩容,会增加原数组一半。
集合不适合增加,删除。适合查询
通常在定义new集合大小的时候,会加一个参数,预估一下大小。
但是线程不安全,单线程可使用。
在这里插入图片描述

Vector:

实现原理:采用动态对象数组实现。
默认构造 创建大小为10的数组。
扩容:当增量为0时,扩容一倍(原大小的二倍),当增量大于0时,扩容为原大小+增量。
多线程使用,使用了synchronized,线程安全,效率低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值