Java基本的程序结构设计 数组
声明数组:
int[] a;
int a[];
两种方式。一般选择第一种,比较一目了然。
初始化,必须指定长度:
int[] a = new int[10];
int[] a = {1,2,3};
初始化:
- package com.zjf;
- import java.util.Arrays;
- import com.zjf.spring.mybatis.model.Person;
- public class Test {
- public static void main(String[] args) {
- //定义数组
- int[] a = new int[3];
- //默认初始化 打印查看为0
- System.out.println(Arrays.toString(a));
- //也可以存储对象
- Person[] p = new Person[2];
- //默认初始化为null
- System.out.println(Arrays.toString(p));
- }
- }
结果:
[0, 0, 0]
[null, null]
数组拷贝
两种方式。
- package com.zjf;
- import java.util.Arrays;
- public class Test {
- public static void main(String[] args) {
- int[] a = {0,1,2,3,4,5,6,7,8,9};
- int[] b = Arrays.copyOf(a, a.length);
- int[] c = new int[a.length];
- System.arraycopy(a, 0, c, 0, a.length);
- System.out.println(Arrays.toString(b));
- System.out.println(Arrays.toString(c));
- }
- }
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
数组排序:
- package com.zjf;
- import java.util.Arrays;
- import com.zjf.spring.mybatis.model.Person;
- public class Test {
- public static void main(String[] args) {
- int[] a = {0,6,2,8,4,5,1,7,3,9};
- Arrays.sort(a);
- System.out.println(Arrays.toString(a));
- Person p1 = new Person(2,"zjf",29,"beiing");
- Person p2 = new Person(1,"xhj",29,"beiing");
- Person[] p = {p1,p2};
- Arrays.sort(p);
- System.out.println(Arrays.toString(p));
- }
- }
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Exception in thread "main" java.lang.ClassCastException: com.zjf.spring.mybatis.model.Person cannot be cast to java.lang.Comparable
at java.util.ComparableTimSort.countRunAndMakeAscending(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at com.zjf.Test.main(Test.java:13)
- package com.zjf;
- import java.util.Arrays;
- import java.util.Comparator;
- import com.zjf.spring.mybatis.model.Person;
- public class Test {
- public static void main(String[] args) {
- int[] a = { 0, 6, 2, 8, 4, 5, 1, 7, 3, 9 };
- Arrays.sort(a);
- System.out.println(Arrays.toString(a));
- Person p1 = new Person(2, "zjf", 29, "beiing");
- Person p2 = new Person(1, "xhj", 29, "beiing");
- Person[] p = { p1, p2 };
- Arrays.sort(p, new Comparator<Person>() {
- public int compare(Person o1, Person o2) {
- return o1.getId().compareTo(o2.getId());
- }
- });
- System.out.println(Arrays.toString(p));
- }
- }
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[id:1,name:xhj, id:2,name:zjf]
注:Arrays.sort使用的是快速排序算法。
Arrays的API:
| 方法摘要 | ||
| static 
 | asList(T... a)  | |
| static int | binarySearch(byte[] a, byte key)  | |
| static int | binarySearch(char[] a, char key)  | |
| static int | binarySearch(double[] a, double key)  | |
| static int | binarySearch(float[] a, float key)  | |
| static int | binarySearch(int[] a, int key)  | |
| static int | binarySearch(long[] a, long key)  | |
| static int | binarySearch(Object[] a, Object key)  | |
| static int | binarySearch(short[] a, short key)  | |
| static 
 | binarySearch(T[] a, T key, Comparator<? super T> c)  | |
| static boolean | deepEquals(Object[] a1, Object[] a2)  | |
| static int | deepHashCode(Object[] a)  | |
| static String | deepToString(Object[] a)  | |
| static boolean | equals(boolean[] a, boolean[] a2)  | |
| static boolean | equals(byte[] a, byte[] a2)  | |
| static boolean | equals(char[] a, char[] a2)  | |
| static boolean | equals(double[] a, double[] a2)  | |
| static boolean | equals(float[] a, float[] a2)  | |
| static boolean | equals(int[] a, int[] a2)  | |
| static boolean | equals(long[] a, long[] a2)  | |
| static boolean | equals(Object[] a, Object[] a2)  | |
| static boolean | equals(short[] a, short[] a2)  | |
| static void | fill(boolean[] a, boolean val)  | |
| static void | fill(boolean[] a, int fromIndex, int toIndex, boolean val)  | |
| static void | fill(byte[] a, byte val)  | |
| static void | fill(byte[] a, int fromIndex, int toIndex, byte val)  | |
| static void | fill(char[] a, char val)  | |
| static void | fill(char[] a, int fromIndex, int toIndex, char val)  | |
| static void | fill(double[] a, double val)  | |
| static void | fill(double[] a, int fromIndex, int toIndex, double val)  | |
| static void | fill(float[] a, float val)  | |
| static void | fill(float[] a, int fromIndex, int toIndex, float val)  | |
| static void | fill(int[] a, int val)  | |
| static void | fill(int[] a, int fromIndex, int toIndex, int val)  | |
| static void | fill(long[] a, int fromIndex, int toIndex, long val)  | |
| static void | fill(long[] a, long val)  | |
| static void | fill(Object[] a, int fromIndex, int toIndex, Object val)  | |
| static void | fill(Object[] a, Object val)  | |
| static void | fill(short[] a, int fromIndex, int toIndex, short val)  | |
| static void | fill(short[] a, short val)  | |
| static int | hashCode(boolean[] a)  | |
| static int | hashCode(byte[] a)  | |
| static int | hashCode(char[] a)  | |
| static int | hashCode(double[] a)  | |
| static int | hashCode(float[] a)  | |
| static int | hashCode(int[] a)  | |
| static int | hashCode(long[] a)  | |
| static int | ||
| static int | hashCode(short[] a)  | |
| static void | sort(byte[] a)  | |
| static void | sort(byte[] a, int fromIndex, int toIndex)  | |
| static void | sort(char[] a)  | |
| static void | sort(char[] a, int fromIndex, int toIndex)  | |
| static void | sort(double[] a)  | |
| static void | sort(double[] a, int fromIndex, int toIndex)  | |
| static void | sort(float[] a)  | |
| static void | sort(float[] a, int fromIndex, int toIndex)  | |
| static void | sort(int[] a)  | |
| static void | sort(int[] a, int fromIndex, int toIndex)  | |
| static void | sort(long[] a)  | |
| static void | sort(long[] a, int fromIndex, int toIndex)  | |
| static void | ||
| static void | sort(Object[] a, int fromIndex, int toIndex)  | |
| static void | sort(short[] a)  | |
| static void | sort(short[] a, int fromIndex, int toIndex)  | |
| static 
 | sort(T[] a, Comparator<? super T> c)  | |
| static 
 | sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)  | |
| static String | toString(boolean[] a)  | |
| static String | toString(byte[] a)  | |
| static String | toString(char[] a)  | |
| static String | toString(double[] a)  | |
| static String | toString(float[] a)  | |
| static String | toString(int[] a)  | |
| static String | toString(long[] a)  | |
| static String | ||
| static String | toString(short[] a)  | |
Java基本的程序结构设计 数组的更多相关文章
- Java基本的程序结构设计  字符类型
		char类型 char是2个字节,和short一样. char用单引号来表示. char可以通过数字来表示,也可以通过字母来表示,也可以通过unicode编码单元来表示,特殊字符还可以通过\+字符来表 ... 
- Java基本的程序结构设计  大数操作
		大数操作 BigInteger 不可变的任意精度的整数.所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型).BigInteger 提供所有 Java 的基本整数操 ... 
- Java基本的程序结构设计  基本类型的输入输出
		读取输入: java.util.Scanner 一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器. 了解: Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹 ... 
- Java基本的程序结构设计  控制流程
		控制流程 java的控制流程和C和C++基本一致,只是不能使用goto语句,不过break语句可以带标签,实现从内层循环跳出的目的.标签可以放在for或者while前面.如下: package com ... 
- Java基本的程序结构设计  整形和浮点型
		整形: int 4字节 short 2字节 long 8字节 byte 1字节 int的大小差不多是20亿. 整形计算 如果两个int进行加减乘除数学运算的时候,最终的结果仍然是int,有可能出现了溢 ... 
- 《疯狂Java:突破程序员基本功的16课》读书笔记-第一章 数组与内存控制
		很早以前就听过李刚老师的疯狂java系列很不错,所以最近找一本拿来拜读,再此做下读书笔记,促进更好的消化. 使用Java数组之前必须先对数组对象进行初始化.当数组的所有元素都被分配了合适的内存空间,并 ... 
- JAVA 基础编程练习题31 【程序 31 数组逆序】
		31 [程序 31 数组逆序] 题目:将一个数组逆序输出. 程序分析:用第一个与最后一个交换. package cskaoyan; public class cskaoyan31 { @org.jun ... 
- 程序结构设计理论(Android)
		程序结构设计理论(Android) 作者:邓能财 2019年9月24日 个人简介 姓名:邓能财 年龄:26 毕业学校:东华理工大学 院系:理学院 专业:信息与计算科学 邮箱:2420987186@qq ... 
- 《疯狂Java:突破程序员基本功的16课》读书笔记-第二章 对象与内存控制
		Java内存管理分为两个方面:内存分配和内存回收.这里的内存分配特指创建Java对象时JVM为该对象在堆内存中所分配的内存空间.内存回收指的是当该Java对象失去引用,变成垃圾时,JVM的垃圾回收机制 ... 
随机推荐
- Kettle使用教程之安装与资源库的创建
			1.安装JDK 本人使用的JDK版本是1.8,且必须要在系统的环境变量添加路径. 2.下载Kettle 目前稳定的版本是8.2,但是本人使用的是7.1版本,其下载的URL为:https://sourc ... 
- jQuery.validator.addMethod自定义验证
			jQuery.validator.addMethod("numOrLetter", function(value, element) { return this.optional( ... 
- ffmpeg 视频过度滤镜 gltransition
			ffmpeg 视频过度滤镜 gltransition 上次随笔中提到的 ffmpeg-concat 可以处理视频过度,但是缺点是临时文件超大. 经过查找 ffmpeg 还有 gltransition ... 
- 查询sq字段逗号分隔的方式
			2,3,4 -- select * from t_qs_anlycomagingconfig twhere and ( to_char(','||t.valid_month||',') like '% ... 
- [转载]jsp上传文件
			JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档. 本章节我们使用 Servlet 来处理文件上传,使用到的文件有: uplo ... 
- python学习之数据类型(tuple)
			3.6 元组 v = (11,22,33,'asd','汉字') 元组就是不可变的列表,又叫制度列表,属性特征与字符串相似,里边可以存放任何类型的元素. 1.元组的元素 这里元组的不可变的意思是⼦元素 ... 
- python基础之字符串常用方法
			str常用命令:字符操作:.capitalize() .upper() .lower() .title() .swapcase()判断:.startwith() .endwith() .isalnum ... 
- vue --》路由query 编程式导航传值与监听
			1.首先在一个页面设置一个按钮,用于路由跳转 <template> <div> <button @click="handleToRouter"> ... 
- Websocket --(1)简介
			最近项目需求提出前台界面实时获取后端数据,也就是数据发生变化后服务端主动通知前端页面,以往都是前端请求服务端.当然了,前人已经为我们想好了解决办法,那就是websocket.至于websocket的介 ... 
- 【中间件】Kafka 学习 01
			KafKa 博客教程-1 博客教程-2 kafka简介 kafka起源 Kafka是由LinkedIn开发并开源的分布式消息系统,2012年捐赠给Apache基金会,采用Scala语言,运行在JVM中 ... 
