java.util.Arrays类

Arrays类包含了:排序、查找、填充、打印内容等常见的操作。

打印数组

package cn.dym08;
import java.util.Arrays;public class Test01 {public static void main(String [] args) {int []a= {1,2};System.out.println(a); //打印数组引用的值System.out.println(Arrays.toString(a)); //打印数组元素的值}
}

此处的Arrays.toString()方法是Arrays类的静态方法,不是前面讲的Object的toString()方法。

数组元素的排序

package cn.dym08;
import java.util.Arrays;
public class Test02 {public static void main(String[] args) {int []a= {1,2,323,23,541,287,9,42};System.out.println(Arrays.toString(a));Arrays.sort(a);System.out.println(Arrays.toString(a));}
}

数组元素是引用类型的排序(Comparable接口的应用)

package cn.dym08;
import java.util.Arrays;
class Man implements Comparable{int age;int id;String name;public Man(int age, String name) {super();this.age = age;this.name = name;}public String toString() {return this.name;}public int compareTo(Object o) {Man man=(Man)o;if(this.age<man.age) {return -1;}if(this.age>man.age) {return 1;}return 0;}
}
public class Test03 {public static void main(String []args) {Man[] msMans= {new Man(3,"a"),new Man(60,"b"),new Man(2,"c")};Arrays.sort(msMans);System.out.println(Arrays.toString(msMans));}
}

二分法查找

package cn.dym08;
import java.util.Arrays;
public class Test04 {public static void main(String[] args) {int []a= {1,2,354,154,1145,54,78,45};System.out.println(Arrays.toString(a));Arrays.sort(a);  //使用二分法查找,必须先对数组进行排序System.out.println(Arrays.toString(a));//Arrays.binarySearch(a, 12),返回排序后新的索引位置,若未找到则返回负数System.out.println("该元素的索引:"+Arrays.binarySearch(a, 12));System.out.println("该元素的索引:"+Arrays.binarySearch(a, 45));}
}

数组填充

package cn.dym08;import java.util.Arrays;public class Test05 {public static void main(String[] args) {int [] a= {1,45,48,98,487,145,2};System.out.println(Arrays.toString(a));Arrays.fill(a, 2,4,100);  //将2到4索引对的元素的值替换为100//只取开始,不取结束System.out.println(Arrays.toString(a));}
}


多维数组

多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(一般使用容器,二维数组用的很少)

二维数组的声明

package cn.dym08;public class Test06 {public static void main(String[] args) {//Java中多维数组的声明和初始化应从低维到高维的顺序进行int [][] a=new int[3][];a[0]=new int[2];a[1]=new int[4];a[2]=new int[3];//int a1[][]=new int[][4]  //非法}
}

二维数组的静态初始化

package cn.dym08;public class Test07 {public static void main(String[] args) {int [][]a= {{1,2,3},{3,4},{3,5,6,8}};System.out.println(a[2][3]);}
}

二维数组的动态初始化

package cn.dym08;
import java.util.Arrays;
public class Test08 {public static void main(String [] args) {int [][] a=new int[3][];//a[0]={1,2,5}; //错误,没有声明就初始化a[0]=new int[] {1,2};a[1]=new int[] {2,2};a[2]=new int[] {2,3,5,4};System.out.println(a[2][3]); //结果为:4System.out.println(Arrays.toString(a[0]));System.out.println(Arrays.toString(a[1]));System.out.println(Arrays.toString(a[2]));}
}

获取数组长度  属性 length

package cn.dym08;
import java.util.Arrays;
public class Test08 {public static void main(String [] args) {int [][] a=new int[3][];//a[0]={1,2,5}; //错误,没有声明就初始化a[0]=new int[] {1,2};a[1]=new int[] {2,2};a[2]=new int[] {2,3,5,4};//System.out.println(a[2][3]); //结果为:4//System.out.println(Arrays.toString(a[0]));//System.out.println(Arrays.toString(a[1]));//System.out.println(Arrays.toString(a[2]));System.out.println(a.length);System.out.println(a[0].length);}
}

java的知识点17——java.util.Arrays类、多维数组相关推荐

  1. java.util 1.8_JDK1.8源码(四)——java.util.Arrays 类

    java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 1.asList public static ...

  2. Java的知识点22——时间处理相关类、Date时间类(java.util.Date)、DateFormat类和SimpleDateFormat类、Calendar日历类

    时间处理相关类 用long类型的变量来表示时间,获得现在时刻的"时刻数值":long now = System.currentTimeMillis(); Date时间类(java. ...

  3. Java基础知识点__获取运行时类的完整结构

    通过反射获取运行时类的完整结构 Field,method,Construuuctor,Superclass,Interface,Annotation 实现的全部接口 继承的父类 全部的构造器 全部的构 ...

  4. Java面试知识点(全)- Java面试基础部分一

    Java面试知识点(全) :https://nanxiang.blog.csdn.net/article/details/130640392 Java基础 语法基础 面向对象 封装 利用抽象数据类型将 ...

  5. JAVA day16、17 数据结构(栈、队列、数组、链表、红黑树)

    一.什么叫数据结构? 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带"结构"的数据元素的集合."结构"就是指数据元素之间存在的关系,分为逻辑结构 ...

  6. Java面试知识点(全)- Java面试基础部分三

    Java面试知识点(全)https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 文章目录 ThreadPoolExecutor ...

  7. Java面试知识点之Java基础

    1.面向对象的特性有哪些? 答:继承.封装.多态 封装 隐藏对象的属性和实现细节,对外提供接口访问. 继承 子类继承父类,保留父类的属性和方法,并可以进行扩展. 多态 不同的对象有相同的行为,但具体执 ...

  8. java全栈系列之JavaSE--java中的多维数组的详解026

    多维数组 多维数组可以看成是数组的数组,二维数组是一个特殊的一维数组,其中的每一个元素都是一个一维数组 二维数组的定义格式: 定义一维数组的时候类型后面是一个[ ],而二维数组在类型后面跟上两个[ ] ...

  9. Java学习第二周(2)--排序算法与二维数组

    声明:由于学习环境为JDK1.8,所有有关Java的代码均在JDK1.8环境中测试通过,若环境发生变换,代码可能会发生错误.     本周的学习难度较上周有明显提升,今天所学习的排序算法有很多需要理解 ...

最新文章

  1. 安装Maya 6.5指南
  2. iptables对请求的URL作IP访问控制
  3. 构建针对 iOS 和 Android 的原生扩展
  4. Spire.Doc 教程:用C#识别Word中的合并字段名称
  5. HttpClient, 使用C#操作Web
  6. nginx+tornado与nginx+go的性能测试
  7. 【今晚七点半】:多媒体开源PI
  8. Unity 3D观察者设计模式-C#委托和事件的运用
  9. 中国第一个发《Nature》的竟然是清朝人!被皇帝夸天下第一,他却觉得羞耻..........
  10. Tips--更改Jupyter Notebook的默认工作路径
  11. java junit
  12. 继承基础概念与公有继承
  13. 提高JQ效率的一些建议
  14. python线程池和多线程
  15. 单片机51keil编程流程
  16. SketchUp Pro 2018 for Mac(草图大师)免激活注册版
  17. 第2章 Spring Boot实践,开发社区登录模块(上)
  18. Java实验1:个人银行账户管理系统总结
  19. 假如有这样一种生活……
  20. C语言删除字符串的所有尾部空格

热门文章

  1. java设计模式简述
  2. 转自CSDNattilax的专栏 :自适应网页设计 跟 响应式 设计的区别跟原理and实践总结...
  3. DELL OME监控服务器安装配置
  4. 在visual studio中使用git版本系统(zz)
  5. NeatUpload的安装使用
  6. 委托的Invoke 和 BeginInvoke 与Control的Invoke和BeginInvoke(转-因为写得很好)
  7. 一个好用的开源在线时序图/波形图(Timing Diagram)绘制网站
  8. PMP考试资料:这个项目值得去做吗
  9. WIN7电脑文件莫名其妙被删除后的恢复
  10. C#对Excel的一些操作【一】