Java Array和大数据运算
Posted 元气满满01
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Array和大数据运算相关的知识,希望对你有一定的参考价值。
1、Array类
sort方法,用来对指定数组中的元素进行排序(元素值从小到大进行排序) //源arr数组元素{1,5,9,3,7}, 进行排序后arr数组元素为{1,3,5,7,9} int[] arr = {1,5,9,3,7}; Arrays.sort( arr );
toString方法,用来返回指定数组元素内容的字符串形式 int[] arr = {1,5,9,3,7}; String str = Arrays.toString(arr); // str的值为[1, 3, 5, 7, 9]
binarySearch方法,在指定数组中,查找给定元素值出现的位置。若没有查询到,返回位置为-1。要求该数组必须是个有序的数组。 int[] arr = {1,3,4,5,6}; int index = Arrays.binarySearch(arr, 4); //index的值为2 int index2= Arrasy.binarySearch(arr, 2); //index2的值为-1
import java.util.Arrays; public class Demo01 { public static void main(String[] args) { /*int[] arr=null; int[] arr1={}; System.out.println(arr.length);//空,会报错 System.out.println(arr1.length);*/ int[] arr={3,6,9,11,33,66}; int index=Arrays.binarySearch(arr, 6);//前提是:数组是升序排列 System.out.println(index);//返回的是下标 int index2=Arrays.binarySearch(arr, 20); System.out.println(index2);//20在数组中不存在,返回的是该值在数组中应该在的负-下标-1 int[] arr1={5,9,1,2,77,66,33,22,11,77}; Arrays.sort(arr1);//生序排序 for(int i=0;i<arr1.length;i++){ System.out.print(arr1[i]+" "); } System.out.println(Arrays.toString(arr1)); } }
2、大数据运算
BigInteger: java中long型为最大整数类型,对于超过long型的数据如何去表示呢.在Java的世界中,超过long型的整数已经不能被称为整数了,它们被封装成BigInteger对象.在BigInteger类中,实现四则运算都是方法来实现,并不是采用运算符
import java.math.BigInteger; public class Demo02 { public static void main(String[] args) { String str="10000000000000000000000000000000000000000000"; String str1="20000000000000000000000000000000000000000000"; BigInteger in1=new BigInteger(str); BigInteger in2=new BigInteger(str1); System.out.println(in1.add(in2)); System.out.println(in1.subtract(in2)); System.out.println(in1.multiply(in2)); System.out.println(in1.divide(in2)); } }
BigDecimal:double和float类型在运算中很容易丢失精度,造成数据的不准确性,Java提供我们BigDecimal类可以实现浮点数据的高精度运算
package demo01; import java.math.BigDecimal; public class Demo03 { public static void main(String[] args) { System.out.println(0.09 + 0.01); System.out.println(1.0 - 0.32); System.out.println(1.015 * 100); System.out.println(1.301 / 100); BigDecimal b1=new BigDecimal("0.09"); BigDecimal b2=new BigDecimal("0.01"); System.out.println(b1.add(b2)); BigDecimal b3=new BigDecimal("1.0"); BigDecimal b4=new BigDecimal("0.32"); System.out.println(b3.add(b4)); BigDecimal b5=new BigDecimal("1.015"); BigDecimal b6=new BigDecimal("100"); System.out.println(b5.multiply(b6));//乘 BigDecimal b7=new BigDecimal("1.301"); BigDecimal b8=new BigDecimal("100"); System.out.println(b7.divide(b8));//乘 } }
以上是关于Java Array和大数据运算的主要内容,如果未能解决你的问题,请参考以下文章
Java基础知识回顾-18(Math类,Arrays类和大数据运算)