Java Array和大數據運算
阿新 • • 發佈:2018-11-25
++ str1 info div earch img string tro 數組
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和大數據運算