Java基础:关于Array,ArrayList和Arrayutil的使用

本文介绍了Java中的Array,包括Array的概述、常用方法,以及多维数组的概念。接着讲解了ArrayList,涉及Collection接口、List概述、ArrayList类及常用方法。文章还提到了JDK提供的java.util.Arrays类在数组操作中的作用,如排序、查找、填充等。
摘要由CSDN通过智能技术生成

一.关于Array

1.Array概述

①Java中的数组,是一种简单的线性数据存储结构,用来存储固定大小的同类型元素。数组类型可以是任何数据类型,可以存储基本数据类型引用类型

②数组一旦被创建,它的长度就是不可以改变的(final)。数组对象中的length属性保存了数组的长度,并且是public常量可以直接引用。
length属性:用于求String字符串数组的长度(数组中有多少个字符串)
length()方法:用于求String字符串对象的长度(对象中字符的个数)

③索引运算符自动执行数组边界检查,保证引用一个数组元素的索引值在有效范围内,索引值必须[0, length-1],否则会抛出ArrayIndexOutOfBoundsException

④数组变量属引用类型,存放在栈内,而实际数组属于对象,存放在堆内存中。
数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中存储的。

⑤数组用牺牲自动扩展大小来换取与集合相比的唯一优势——查询效率的提升。它本身是一种引用类型的数据,所以我们要使用数组就要首先声明和初始化,而它初始化的完成也就意味着此数组的大小将不再改变。

2.Array的常用方法

  1. 声明数组;
  2. 初始化数组;
  3. 遍历数组;for(int temp: a)
  4. 拷贝数组;System.arraycopy(a,0,b,0,6)
  5. 复制数组;Arrays.copyOf(a)返回新数组
  6. 打印数组;Arrays.toString(a)
  7. 填充数组; Arrays.fill(a, , ,key)
  8. 排序数组;Arrays.sort(a,0,6)
  9. 二分法查找;Arrays.binarySearch(a,key)
  10. 比较数组;Arrays.equals(a,b)
  11. 包含某一个值;Arrays.asList(a).contains(b)
  12. 转成arraylist;ArrayList al = new ArrayList(Arrays.asList(a));
  13. 转成set集合; Set set= new HashSet(Arrays.asList(a));
  14. 转成list集合;List list=java.util.Arrays.asList(a)
  15. 去重复;.

1.声明数组;

//声明数组变量引用,必须指明数组大小
String[] array=new String[5];
int score[]=new int[3];

2.初始化数组;

//静态初始化—数组大小由系统分配,我们直接在定义数组的同时为元素分配空间和赋值。(基本数据类型数组和引用数据类型数组)
int a1[]=new int[]{1,2,3,4,5};
int a2[]={1,2,3,4,5};
String[] a2=new String[]{"约定","的","梦幻岛"};
String[] a1={"约定","的","梦幻岛"};
Man[] mans = { new Man(01,a),
			   new Man(02,b) }

//动态初始化—先定义数组和分配空间,再赋值。
int score[]=new int[3];//只指定数值的大小,初始化工作系统完成
for(int i=0;i<score.length;i++){   
  score[i]=i+1; 
}
score[0]=1;
score[1]=2;

//默认初始化—数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化
int a[] = new int[2]; // 默认值:0,0
boolean[] b = new boolean[2]; // 默认值:fa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值