java之路,数组

简介: java中所有的数组都有一个缺省的属性length,用于获取数组元素的个数 数组的复制:System.arraycopy();        数组的排序Arrays.sort();    在已排序的数组中查找某个元素Arrays.

java中所有的数组都有一个缺省的属性length,用于获取数组元素的个数
数组的复制:System.arraycopy();        数组的排序Arrays.sort();    在已排序的数组中查找某个元素Arrays.binarySearch()
arraycopy(
        Object src,                  //源数组
         int      srcPos,             //拷贝位置
        Object dest,               //目的数组
        int       desPos,           //目的位置
        int length                  //长度
)

class ArrayTest
{
    public static void main(String[] args)
    {
        int[] num1 = new int[]{4,2,3};
        int[] num2 = new int[3];
        System.arraycopy(num1, 0, num2, 0, num1.length);            //复制数组
        Arrays.sort(num1);                //排序,升序,需要引入java.util包
        int index = Arrays.binarySearch(num1,2);     //搜索的对应元素的序号

        for(int i=0; i             System.out.println(num2[2]);

        Point[] p1 = new Point[]{new Point(1,1), new Point(2,2), new Point(3,3) };
        Point[] p2 = new Point[3];
        System.arraycopy(p1, 0, p2, 0, p1.length);          //复制类数组
        p2[1].x = 100;
        p2[1].y = 100;
        System.out.println(p1[1].x + p1[1].y)          //p1也被修改了,因为类复制的时候,拷贝的是引用,也就是说拷贝的是地址

        Student ss = new Studen[]{new Student(1, "zs'),   new Student(2, "ls"), new Student(3, "ww")};
        Arrays.sort(ss);
        int index = Arrays.binarySearch(ss new Student(2, "lisi"));       //搜索必须在排序之后进行
   }
}

class Point
{
    int x,y;
    Point(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}
class Student implements Comparable        //类排序,需要实现Comparable方法
{
    int age;
    String name ;
    Student(int age, String name)
    {
         this.age = age;
         this.name = name;
    }
    public String toString()
   {
         return "age = " + age + "name = " +name;
    }
    public int compareTo(Object o)             // 自己实现排序,实现compareTo方法
     {
          Student s = (Student)o;
    //      return age > s.age ? 1 : (age == s.age ? 0 : -1);             //按照年龄实现排序
          result = age > s.age ? 1: (age == s.age ? 0 : -1);
         if(result == 0)
         {
              result = name.compareTo(s.name);
         }
        return  result;

     }
}

相关文章
|
2月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
33 4
|
2月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
33 2
|
2月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
87 2
|
2月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
53 9
|
2月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
25 3
|
2月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
30 6
|
2月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
30 1
|
2月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
17 1
|
2月前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
105 9
|
3月前
|
存储 Java 数据处理
Java 数组的高级用法
在 Java 中,数组不仅可以存储同类型的数据,还支持多种高级用法,如多维数组(常用于矩阵)、动态创建数组、克隆数组、使用 `java.util.Arrays` 进行排序和搜索、与集合相互转换、增强 for 循环遍历、匿名数组传递以及利用 `Arrays.equals()` 比较数组内容。这些技巧能提升代码的灵活性和可读性,适用于更复杂的数据处理场景。
42 10