🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝
🥇博主昵称:Jovy.
🍟博客主页:Jovy.的博客
🥗感谢点赞👍评论🃌
⚇很方便的在线编辑器:Lightly
目录
今日焦点
前言
Arrays类
Arrays类的fill方法
用fill方法填充数组
用fill方法替换数组元素
Arrays类的复制数组方法
用copyOf复制数组
用copyOfRange方法复制部分数组
Arrays类对数组进行排序
用sort方法进行升序排序
问题解答
今日焦点
🎫比尔盖茨发文庆祝万维网诞生30周年
比尔·盖茨称“当数字革命刚开始起步时,我为自己还是个年轻人而感到庆幸,于是我和我的微软同事有机会帮助了这场革命的形成。庆祝万维网诞生30周年,令我怀念起1995年。在那一年,我们推出了IE浏览器。”
前言
🏵在前面我们讲到了一维数组和二维数组以及开发工具eclipse的配置
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
- 替换元素以及填充元素:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
Arrays类
🎖Arrays类是Java中用来操作数组的模块他的使用方法是在Java类中使用import java.util.Arrays进行导入,并使用Arrays.方法()进行调用方法!
Arrays类的fill方法
🎟fill方法有两种用途!
第一种就是填充数组,将数组中的全部元素转换为所输入的元素
第二种就是替换数组元素,将数组中某个元素进行单个替换
用fill方法填充数组
🌋在初始化一个数组之后,如果没有给数组的元素赋值,那么这个数组中的元素默认是为0的,那么我们一个个进行赋值又会略显麻烦,会堆积代码!所以我们就需要用到fill方法进行填充,但是这么做会让全部元素变成同一个数值!
import java.util.Arrays; //这里导入Arrays类
public class Fill{
public static void main(String[] args){
int[] mylist = new int[5]; //这里创建一个名称为mylist的数组,数组的元素个个数为5
Arrays.fill(mylist,3); //为数组填充3,格式为fill(列表,数值)
for(int x:mylist){
System.out.println(x);
} //通过for each来遍历数组元素
}
}
上面的for each在以前的文章中介绍过!
用fill方法替换数组元素
🏜在给元素赋值完或者是填充完元素之后,如果想对某个元素进行修改,那么我们就要重新赋值或者是替换元素,但是重新赋值会增加代码,让代码显得更繁琐,所以Arrays类中提供了替换元素的方法fill!
import java.util.Arrays;
public class Fill{
public static void main(String[] args){
int[] mylist = {1,2,3,4};
Arrays.fill(mylist, 1,2,4);
for(int x:mylist){
System.out.println(x);
}
} //这是一个特殊的格式Arrays.fill(列表名称,空格正向索引,反向索引,改变的数值)
}
🎬这里的正反向索引指向的一定要是同一个元素!
Arrays类的复制数组方法
🎟在Java程序的使用过程中,有时候会需要一个含有相同或者是部分相同元素的数组,但是重新创建数组的话就会增加代码长度,减少代码可读性,那么我们就可以使用到复制数组或者是部分数组的方法!
用copyOf复制数组
☄️copyOf方法提供了多种重载的方法,用以复制数组,增加代码可读性。该方法不受数组长度的限制,若超出,则多处部分为0!
import java.util.Arrays;
public class Fill{
public static void main(String[] args){
int[] mylist = {1,2,3,4};
int[] justlist = Arrays.copyOf(mylist,4); //将复制后的数组赋值给justlist
//格式Arrays.copyOf(列表,复制后的长度)
for(int x:justlist){
System.out.println(x);
}
System.out.println(mylist);
System.out.println(justlist); //这里输出两个数组的内存空间进行检查
}
//这是一个特殊的格式Arrays.fill(列表名称,空格正向索引,反向索引,改变的数值)
}
解:从以上结果可以看出赋值成功了,并且内存空间不同(下面我会解释为什么要输出内存空间)
用copyOfRange方法复制部分数组
🎗有时候在编辑代码的时候只需要中间一部分代码,但是copyOf方法只能复制以前面部分为开头的元素,而不能直接复制中间的代码,为了解决这一个问题,这个类提供了另一个方法copyOfRange方法(中文意思:选择复制)利用这个方法就可以解决这一个问题!
import java.util.Arrays;
public class Fill{
public static void main(String[] args){
int[] mylist = {1,2,3,4};
int[] justlist = Arrays.copyOfRange(mylist,1,3);
//Arrays类的方法使用形式Arrays.copyOfRange(列表,第一个索引位置,第二个索引位置)
for(int x:justlist){
System.out.println(x);
}
}
}
注:在末尾有问题解答!
Arrays类对数组进行排序
🎟在代码编译过程中,有时候会需要用到有序的一组数组才能进行更好的操作,但是我们重新进行编译会增加代码数量,所以我们要对代码进行排序,Java中提供了sort方法对数组的元素进行升序排序!
用sort方法进行升序排序
🎬在Java编译过程中,有顺序的数组会让你的编译更加方便,使得你自己以及其他参与编译的人更加清楚,尤其是适合那些大基数的数组更为适用和实用!
import java.util.Arrays;
public class Fill{
public static void main(String[] args){
int[] mylist = {1,7,33,4};
Arrays.sort(mylist);
//方式为Arrays.sort(列表)
for(int x:mylist){
System.out.println(x);
}
}
}
问题解答
- 为什么要在fill方法中加空格:因为不加空格就会使他执行不正确,无法达到效果
- 为什么要输出内存空间吗:如果在同一个内存空间,一个数组改变之后另一个也会随之改变,会影响后续程序执行
- copyOfRange方法如果超出索引最大限度会怎么样:如果超出,则超出部分默认为0!
- 为什么有些要方法要创建新数组有些不用:因为有些方法是对一个数组进行改变,有些是要重新创建数组!