建电影网站,泰安市大众人才网,网线插座接法,wordpress 顶部白条目录
包装类
作用介绍
包装类的特有功能
Arrays类
Arrays.fill()
Arrays.toString()
Arrays.sort()
升序排序
降序排序
Arrays.equals()
Arrays.copyOf()
Arrays.binarySearch() 包装类 作用介绍 包装类其实就是8种基本数据类型对应的引用类型。 基本数据类型引用…目录
包装类
作用介绍
包装类的特有功能
Arrays类
Arrays.fill()
Arrays.toString()
Arrays.sort()
升序排序
降序排序
Arrays.equals()
Arrays.copyOf()
Arrays.binarySearch() 包装类 作用介绍 包装类其实就是8种基本数据类型对应的引用类型。 基本数据类型引用数据类型byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBoolean
为什么需要包装类? Java为了实现一切皆对象为8种基本类型提供了对应的引用类型。 后面的集合和泛型其实也只能支持包装类型不支持基本数据类型。 自动装箱 基本类型的数据和变量可以直接赋值给包装类型的变量。 public static void main(String[] args) {int num1 10;// 自动装箱(将int基本数据类变量赋值给包装类型变量)Integer a num1;System.out.println(a);
}自动拆箱 包装类型的变量可以直接赋值给基本数据类型的变量。 public static void main(String[] args) {Integer num2 100;// 自动拆箱(将包装类型变量赋值给基本类型变量)int b num2;System.out.println(b);
}包装类的特有功能 包装类的变量的默认值可以是null容错率更高, 而基本类型不可以。 public static void main(String[] args) {Integer num3 null;
}可以把基本类型的数据转换成字符串类型(用处不大) 调用toString()方法得到字符串结果。或者调用Integer.toString(基本类型的数据)。 public static void main(String[] args) {Integer number 100;// 方式一String result1 number.toString();// 方式二String result2 Integer.toString(101);// 方式三: 最简单常用String result3 number ;System.out.println(result1 1); // 1001System.out.println(result2 1); // 1011System.out.println(result3 2); // 1002
}可以把字符串类型的数值转换成真实的数据类型非常有用 teger.parseInt(“字符串类型的整数”)Double.parseDouble(“字符串类型的小数”)。 String st1 123;String st2 12.123;int a Integer.parseInt(st1);double b Double.parseDouble(st2);System.out.println(a1);//124System.out.println(b1);//13.123 将字符串类型的数字转为真实的数据, 我们也可以调用包装类的valueOf方法 public static void main(String[] args) {String strNum1 123;String strNum2 12.123;// 字符串转整数int intNum Integer.valueOf(strNum1);// 字符串转小数double doubleNum Double.valueOf(strNum2);System.out.println(intNum 1); // 124System.out.println(doubleNum 1); // 13.123
}Arrays类 Arrays.fill() 给定特定值val使整个数组中或者某下标范围内的元素值为val。 int [] a new int[10];int [] b new int[8];Arrays.fill(a,3);Arrays.fill(b,3,7,6);for(int x : a)System.out.print(x,);System.out.println();for(int x : b)System.out.print(x,); Arrays.toString() 快速输出数组内容但是输出带有 [ ] int[] a {1,2,3,4,5};
System.out.println(Arrays.toString(a));
// 输出格式[1,2,3,4,5] Arrays.sort()
升序排序 数组排序函数默认升序 int[] a new int[5]{54321};
Arrays.sort(a); // 1 2 3 4 5
System.out.println(Arrays.toString(a));
// [1,2,3,4,5] 两种重载方式 1.Arrays.sort (数组名) 2.Arrays.sort (数组名起始坐标排序长度) 对字符串排序时和c一样是按照字典序排序 降序排序 要实现减序排序可以对用 Collections.reverseOrder()也可以包装类型数组 不包装
Arrays.sort(a, Collections.reverseOrder());
包装 Integer[] a {1,4,3,2,5,6,2,3,4};Arrays.sort(a,((o1, o2) - o2 - o1));System.out.println(Arrays.toString(a));// [6, 5, 4, 4, 3, 3, 2, 2, 1] Arrays.equals() 比较两数组内容是否相等 int[] a {1,2,3};
int[] b {1,2,3};
boolean isSame Arrays.equals(a,b);
//true 注意Arrays.equals()是比较数组内容而a.equals(b) 这样的方法是比较地址值 特别注意在Java中数组ab比较的时两者的地址 以后使用java提供的引用数据内容(数组、字符串、各种集合....)时一定要用equals()方法比较内容是否相等而不是傻傻的用 了因为官方已经把equals()给重写了。如果你要比较你自己写的类例如学生按成绩排序就要自己重写equals()方法 Arrays.copyOf()
两种方式
1.B数组 Arrays.copyOf(A数组赋值长度) int [] a new int[10];int [] b;Arrays.fill(a,10);b Arrays.copyOf(a,11);//超过赋值长度赋值为0System.out.println(Arrays.toString(b));//[10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0]
2. B数组 Arrays.copyOfRange(A数组 起始坐标截取长度)
int [] a new int[10];
int [] b;
Arrays.fill(a,10);
b Arrays.copyOfRange(a,2,5);
System.out.println(Arrays.toString(b));
//[10, 10, 10] Arrays.binarySearch() 在数组中查找指定值若找到则返回此值的下标 若没找到返回 -插入点-1一定为负值 int[] a {1,5,6,7};
Arrays.binarySearch(a,2) //没找到插入点为1则返回 -2
Arrays.binarySearch(a,4) //没找到插入点为1则返回 -2
Arrays,binarySearch(a,8) //没找到插入点为4则返回 -5
Arrays.binarySearch(a,5) //找到了返回下标 1
只要返回值 ≥ 0 就代表找到了。
推荐音乐手写的从前
参考Java基础Arrays类 Arrays常用方法超详解