`

java基础:数组

 
阅读更多

数组重要方法

一、填充数组: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基础教程:数组和集合

    在 Java 中,可以使用以下方式定义和初始化数组: * 声明一个整型数组:`int[] numbers;` * 创建一个长度为 5 的整型数组:`numbers = new int[5];` * 声明并初始化一个整型数组:`int[] numbers = {1, 2, 3, 4, 5}...

    Java程序设计基础:数组的概念.pptx

    问题2:在上例的基础上,如果要求统计出有多少人达到了平均分,并输出达到平均分的学生成绩呢? 采用另一种变量结构,能存放批量数据——数组。 数组的基本概念 数组是一种数据结构,在内存中连续存放。 用来存放...

    JAVA【第4章:数组与方法】_数组的定义及使用

    在Java编程语言中,数组是一种非常基础且重要的数据结构,用于存储同类型的多个元素。本章节将深入探讨数组的定义、初始化以及如何在程序中使用它们。数组在Java中的概念和使用是学习Java编程的基础,因此理解其核心...

    大数据必学Java基础(二十四):数组的引入和学习

    2. 初始化数组:声明数组的同时为其分配空间,如`int[] arr = new int[10];`,这创建了一个包含10个int元素的数组。 3. 访问数组元素:通过索引来访问数组元素,如`arr[0]`表示数组的第一个元素,`arr[9]`表示数组的...

    java算法题 : 数组相关问题

    3. 遍历数组:通常使用for循环来遍历数组,例如: ``` for(int i = 0; i ; i++) { System.out.println(nums[i]); } ``` 4. 数组长度:数组的长度可通过.length属性获取,如int len = nums.length。 三、数组的...

    java【第4章:数组与方法】_Java新特性对数组的支持

    1. 二维数组:在Java中,可以创建多维数组,最常见的是二维数组,类似于表格。例如,`int[][] matrix = new int[3][4];` 创建一个3行4列的二维数组。 2. 多维数组遍历:遍历多维数组时,需要使用嵌套循环。例如,`...

    Java数组练习题(带答案).doc

    本资源为Java数组练习题,共计15道题,涵盖了Java数组的基础知识点,包括数组的访问、数组的复制、数组的初始化、数组的下标、数组的长度、数组的存储、数组的下标越界、数组的元素类型、数组的默认值、数组的大小、...

    Educoder题目:Java入门 - 数组基础答案解析.md

    Educoder题目:Java入门 - 数组基础答案解析

    5、JavaSE:数组-11.pdf

    在Java中,数组被定义为相同类型数据的有序集合。它由一系列按照特定顺序排列的元素组成,每个元素都可以通过一个从0开始的整数下标进行访问。例如,如果你有一个包含10个整数的数组,你可以使用下标0到9来访问这些...

    计算机后端-Java-Java核心基础-第08章 数组 10. 算法:数组的复制.avi

    计算机后端-Java-Java核心基础-第08章 数组 10. 算法:数组的复制.avi

    第五6课:数组++继承

    在Java编程语言中,"第五6课:数组++继承"是一个涵盖了两个核心概念的课程主题:数组和继承。数组是编程中最基本的数据结构之一,而继承则是面向对象编程中的一个关键特性。接下来,我们将深入探讨这两个概念。 ...

    07-Java基础(数组-常见问题)

    在这个主题“07-Java基础(数组-常见问题)”中,我们将深入探讨数组在Java编程中的一些常见问题及其解决方案。 1. **数组的声明与初始化** 在Java中,数组的声明分为声明类型和变量名,以及指定数组长度两个步骤。...

    实验06:数组(一).zip

    数组的概念是编程语言的基础,理解并熟练运用数组对于任何程序员来说都至关重要。在本实验“实验06:数组(一)”中,我们将深入探讨数组的基本概念、操作以及在实际编程中的应用。 首先,我们要了解数组的定义。...

    02-Java基础(数组-常见操作-遍历

    本教程“02-Java基础(数组-常见操作-遍历)”将深入讲解Java数组的概念、创建、初始化以及如何进行遍历等核心知识点。 首先,数组是存储同一类型元素的固定大小的集合。在Java中,数组的声明语法如下: ```java 数据...

    JAVA开发实战经典_课后习题讲解-第4章:数组习题讲解.rar

    在本资源"JAVA开发实战经典_课后习题讲解-第4章:数组习题讲解.rar"中,我们聚焦于Java编程语言中的一个重要基础概念——数组。数组是Java中存储固定大小同类型数据集合的数据结构,它在程序设计中扮演着不可或缺的...

    jave培训:数组及字符处理.pptx

    Java中的数组和字符处理是编程基础的重要组成部分,尤其在处理数据集合和文本信息时显得尤为重要。数组作为一种数据结构,允许存储相同类型的数据集合,而字符处理主要涉及字符串操作,是处理文本信息的基础。 1. *...

    Educoder题目:Java入门 - 数组进阶答案解析.md

    Educoder题目:Java入门 - 数组进阶答案解析

    java【第4章:数组与方法】_数组的引用传递.

    在Java编程语言中,数组是一种特殊的对象,它能够存储同一类型的数据集合。在第四章“数组与方法”中,我们重点探讨了数组的引用传递这一关键概念。理解这个概念对于编写高效、可维护的Java代码至关重要。 首先,...

    Java语言程序设计课件:数组.ppt

    例如,声明并初始化一个包含100个整数的`score`数组: ```java int score[] = new int[100]; ``` 数组的元素可以通过下标访问,下标从0开始,到`元素个数 - 1`结束。如上例,`score`数组的100个元素分别为`score[0...

Global site tag (gtag.js) - Google Analytics