数组重要方法
一、填充数组:Arrays.fill()方法
缺点:填充的数据单一。
用法1:接受2个参数
Arrays.fill( a1, value );
注:a1是一个数组变量,value是一个a1中元素数据类型的值,作用:填充a1数组中的每个元素都是value
例如:
[java]
public class Study {
public static void main(String[] args) {
int[] a = new int[5];
Arrays.fill(a, 1);
System.out.println(Arrays.toString(a));
}
}
输出结果为:
[java]
[1, 1, 1, 1, 1]
用法2:接受4个参数
第一个参数指操作的数组,第二个和第三个指在该数组的某个区域插入第四个参数,第二个参数指起始元素下标(包含该下标),第三个参数指结束下标(不包含该下标),注意:java的数组下标从0开始
例如:
[java]
public class Study {
public static void main(String[] args) {
int[] a = new int[5];
Arrays.fill(a, 1);
Arrays.fill(a, 1, 3, 2);
System.out.println(Arrays.toString(a));
}
}
结果:
[java]
[1, 2, 2, 1, 1]
二、复制数组:clone()方法
clone()方法,限制:全部复制,无法部分的复制。
[java]
public class Study {
public static void main(String[] args) {
int[] a = new int[5];
int[] b;
Arrays.fill(a, 1);
b = a.clone();
System.out.println(Arrays.toString(b));
}
}
结果:
[java]
[1, 1, 1, 1, 1]
三、比较数组:Arrays.equala()方法
comparable接口:compareTo()方法 , 实现comparable接口的类有了自身的比较功能
comparator接口:compare()方法和equals()方法
一般只需实现compare()方法 用于编写自定义的比较方法
例子:
定义Person类,对该类进行比较
[java]
public class Person {
String firstname, lastname;
Boolean sex;
int age;
public Person(String firstname, String lastname, Boolean sex, Integer age) {
super();
this.firstname = firstname;
this.lastname = lastname;
this.sex = sex;
this.age = age;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public Boolean getSex() {
return sex;
}
public void setSex(Boolean sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
实现Comparator,定义自定义比较器
import java.util.Comparator;
public class PersonComparator implements Comparator<Person> {
@Override
public int compare(Person arg0, Person arg1) {
if (arg0.getAge() > arg1.getAge()) {
return -1;
}
return 1;
}
}
测试比较器
[java]
public class Study {
public static void main(String[] args) {
Person[] p = {
new Person("ouyang", "feng", Boolean.TRUE, 27),
new Person("zhuang", "gw", Boolean.TRUE, 26),
new Person("zhuang", "gw", Boolean.FALSE, 28),
new Person("zhuang", "gw", Boolean.FALSE, 24)};
Arrays.sort(p, new PersonComparator());
for (Person person : p) {
System.out.println(person.getFirstname());
System.out.println(person.getLastname());
System.out.println(person.getAge());
System.out.println(person.getSex());
System.out.println();
}
}
}
四、数组排序:Arrays.sort()方法
在排序中已经提到了
五、查找数组:Arrays.binarySearch()方法
缺点:数组必须已经过了排序,否则结果无法预料
[java]
public class Study {
public static void main(String[] args) {
int[] a = {1, 2, 4, 5, 3};
Arrays.sort(a);
System.out.println(Arrays.binarySearch(a, 3));
}
}
六、显示数组数据
1)数组存放的是对象,如字符串:可以使用Arrays.asList方法将数组转换为List容器后显示。
2)数据是基本类型:可以使用for(int i:array) System.out.println(i); 显示
3)Arrays.toString()方法
[java]
public class Study {
public static void main(String[] args) {
int[] a = {1, 2, 4, 5, 3, 1};
System.out.println(Arrays.toString(a));
for (int i : a) {
System.out.println(i);
}
}
}
相关推荐
在 Java 中,可以使用以下方式定义和初始化数组: * 声明一个整型数组:`int[] numbers;` * 创建一个长度为 5 的整型数组:`numbers = new int[5];` * 声明并初始化一个整型数组:`int[] numbers = {1, 2, 3, 4, 5}...
问题2:在上例的基础上,如果要求统计出有多少人达到了平均分,并输出达到平均分的学生成绩呢? 采用另一种变量结构,能存放批量数据——数组。 数组的基本概念 数组是一种数据结构,在内存中连续存放。 用来存放...
在Java编程语言中,数组是一种非常基础且重要的数据结构,用于存储同类型的多个元素。本章节将深入探讨数组的定义、初始化以及如何在程序中使用它们。数组在Java中的概念和使用是学习Java编程的基础,因此理解其核心...
2. 初始化数组:声明数组的同时为其分配空间,如`int[] arr = new int[10];`,这创建了一个包含10个int元素的数组。 3. 访问数组元素:通过索引来访问数组元素,如`arr[0]`表示数组的第一个元素,`arr[9]`表示数组的...
3. 遍历数组:通常使用for循环来遍历数组,例如: ``` for(int i = 0; i ; i++) { System.out.println(nums[i]); } ``` 4. 数组长度:数组的长度可通过.length属性获取,如int len = nums.length。 三、数组的...
1. 二维数组:在Java中,可以创建多维数组,最常见的是二维数组,类似于表格。例如,`int[][] matrix = new int[3][4];` 创建一个3行4列的二维数组。 2. 多维数组遍历:遍历多维数组时,需要使用嵌套循环。例如,`...
本资源为Java数组练习题,共计15道题,涵盖了Java数组的基础知识点,包括数组的访问、数组的复制、数组的初始化、数组的下标、数组的长度、数组的存储、数组的下标越界、数组的元素类型、数组的默认值、数组的大小、...
Educoder题目:Java入门 - 数组基础答案解析
在Java中,数组被定义为相同类型数据的有序集合。它由一系列按照特定顺序排列的元素组成,每个元素都可以通过一个从0开始的整数下标进行访问。例如,如果你有一个包含10个整数的数组,你可以使用下标0到9来访问这些...
计算机后端-Java-Java核心基础-第08章 数组 10. 算法:数组的复制.avi
在Java编程语言中,"第五6课:数组++继承"是一个涵盖了两个核心概念的课程主题:数组和继承。数组是编程中最基本的数据结构之一,而继承则是面向对象编程中的一个关键特性。接下来,我们将深入探讨这两个概念。 ...
在这个主题“07-Java基础(数组-常见问题)”中,我们将深入探讨数组在Java编程中的一些常见问题及其解决方案。 1. **数组的声明与初始化** 在Java中,数组的声明分为声明类型和变量名,以及指定数组长度两个步骤。...
数组的概念是编程语言的基础,理解并熟练运用数组对于任何程序员来说都至关重要。在本实验“实验06:数组(一)”中,我们将深入探讨数组的基本概念、操作以及在实际编程中的应用。 首先,我们要了解数组的定义。...
本教程“02-Java基础(数组-常见操作-遍历)”将深入讲解Java数组的概念、创建、初始化以及如何进行遍历等核心知识点。 首先,数组是存储同一类型元素的固定大小的集合。在Java中,数组的声明语法如下: ```java 数据...
在本资源"JAVA开发实战经典_课后习题讲解-第4章:数组习题讲解.rar"中,我们聚焦于Java编程语言中的一个重要基础概念——数组。数组是Java中存储固定大小同类型数据集合的数据结构,它在程序设计中扮演着不可或缺的...
Java中的数组和字符处理是编程基础的重要组成部分,尤其在处理数据集合和文本信息时显得尤为重要。数组作为一种数据结构,允许存储相同类型的数据集合,而字符处理主要涉及字符串操作,是处理文本信息的基础。 1. *...
Educoder题目:Java入门 - 数组进阶答案解析
在Java编程语言中,数组是一种特殊的对象,它能够存储同一类型的数据集合。在第四章“数组与方法”中,我们重点探讨了数组的引用传递这一关键概念。理解这个概念对于编写高效、可维护的Java代码至关重要。 首先,...
例如,声明并初始化一个包含100个整数的`score`数组: ```java int score[] = new int[100]; ``` 数组的元素可以通过下标访问,下标从0开始,到`元素个数 - 1`结束。如上例,`score`数组的100个元素分别为`score[0...