常用的Java数组操作

来源:互联网 发布:淘宝客户管理系统 编辑:程序博客网 时间:2024/05/16 18:35
如何对数组进行排序和搜索里面的元素?解决方法下面的示例演示如何使用sort()和binarySearch()方法来完成任务。用户自定义方法PrintArray()用于显示输出:import java.util.Arrays;public class MainClass {   public static void main(String args[]) throws Exception {      int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };      Arrays.sort(array);      printArray("Sorted array", array);      int index = Arrays.binarySearch(array, 2);      System.out.println("Found 2 @ " + index);   }   private static void printArray(String message, int array[]) {      System.out.println(message      + ": [length: " + array.length + "]");      for (int i = 0; i < array.length; i++) {         if(i != 0){            System.out.print(", ");         }         System.out.print(array[i]);                           }      System.out.println();   }}结果上面的代码示例将产生以下结果。 Sorted array: [length: 10]-9, -7, -3, -2, 0, 2, 4, 5, 6, 8Found 2 @ 5

如何排序数组,并插入元素到数组中?解决方法下面的示例演示如何使用sort()方法和用户定义的方法insertElement()来完成任务。import java.util.Arrays;public class MainClass {   public static void main(String args[]) throws Exception {      int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };      Arrays.sort(array);      printArray("Sorted array", array);      int index = Arrays.binarySearch(array, 1);      System.out.println("Didn't find 1 @ "      + index);      int newIndex = -index - 1;      array = insertElement(array, 1, newIndex);      printArray("With 1 added", array);   }   private static void printArray(String message, int array[]) {      System.out.println(message      + ": [length: " + array.length + "]");      for (int i = 0; i < array.length; i++) {         if (i != 0){            System.out.print(", ");         }         System.out.print(array[i]);               }      System.out.println();   }   private static int[] insertElement(int original[],   int element, int index) {      int length = original.length;      int destination[] = new int[length + 1];      System.arraycopy(original, 0, destination, 0, index);      destination[index] = element;      System.arraycopy(original, index, destination, index      + 1, length - index);      return destination;   }}结果上面的代码示例将产生以下结果。 Sorted array: [length: 10]-9, -7, -3, -2, 0, 2, 4, 5, 6, 8Didn't find 1 @ -6With 1 added: [length: 11]-9, -7, -3, -2, 0, 1, 2, 4, 5, 6, 8
如何确定一个二维数组的上限或长度?解决方法下面的例子可帮助确定一个二维数组的上限,使用arrayname.length。public class Main {   public static void main(String args[]) {      String[][] data = new String[2][5];      System.out.println("Dimension 1: " + data.length);      System.out.println("Dimension 2: " + data[0].length);   }}结果上面的代码示例将产生以下结果。 Dimension 1: 2Dimension 2: 5

如何逆转数组列表?解决方法下面的示例反转使用Collections.reverse(ArrayList)方法的数组列表。import java.util.ArrayList;import java.util.Collections;public class Main {   public static void main(String[] args) {      ArrayList arrayList = new ArrayList();      arrayList.add("A");      arrayList.add("B");      arrayList.add("C");      arrayList.add("D");      arrayList.add("E");      System.out.println("Before Reverse Order: " + arrayList);      Collections.reverse(arrayList);      System.out.println("After Reverse Order: " + arrayList);   }}结果上面的代码示例将产生以下结果。 Before Reverse Order: [A, B, C, D, E]After Reverse Order: [E, D, C, B, A]


如何编写让一个字符串数组到输出控制台?解决方法下面的例子演示了通过循环写入数组元素到输出控制台。public class Welcome {   public static void main(String[] args){      String[] greeting = new String[3];      greeting[0] = "This is the greeting";      greeting[1] = "for all the readers from";      greeting[2] = "Java Source .";      for (int i = 0; i < greeting.length; i++){         System.out.println(greeting[i]);      }   }}结果上面的代码示例将产生以下结果。 This is the greetingFor all the readers FromJava source .


如何搜索数组中最小和最大元素?解决方法这个例子显示了如何通过使用 Collection类的Collection.max()和Collection.min()方法来搜索一个数组中的最小和最大元素。import java.util.Arrays;import java.util.Collections;public class Main {   public static void main(String[] args) {      Integer[] numbers = { 8, 2, 7, 1, 4, 9, 5};      int min = (int) Collections.min(Arrays.asList(numbers));      int max = (int) Collections.max(Arrays.asList(numbers));      System.out.println("Min number: " + min);      System.out.println("Max number: " + max);   }}结果上面的代码示例将产生以下结果。 Min number: 1Max number: 9

如何合并两个数组?解决方法这个例子显示了如何通过使用List类的 list.Addall(array1.asList(array2)方法和Array类的Arrays.toString()方法将两个数组合并成一个数组。 import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Main {   public static void main(String args[]) {      String a[] = { "A", "E", "I" };      String b[] = { "O", "U" };      List list = new ArrayList(Arrays.asList(a));      list.addAll(Arrays.asList(b));      Object[] c = list.toArray();      System.out.println(Arrays.toString(c));   }}结果上面的代码示例将产生以下结果。 [A, E, I, O, U]



如何填充(初始化)数组?解决方法这个例子中的填充使用Array.fill(arrayname,value)方法和Java Util类的Array.fill(arrayname ,starting index ,ending index ,value) 方法(初始化数组的所有元素为short类型)数组。 import java.util.*;public class FillTest {   public static void main(String args[]) {      int array[] = new int[6];      Arrays.fill(array, 100);      for (int i=0, n=array.length; i < n; i++) {         System.out.println(array[i]);      }      System.out.println();      Arrays.fill(array, 3, 6, 50);      for (int i=0, n=array.length; i< n; i++) {         System.out.println(array[i]);      }   }}结果上面的代码示例将产生以下结果。 100100100100100100100100100505050


如何初始化后延长一个数组?解决方法下面的示例演示如何通过创建一个新数组来扩展初始化后的数组。public class Main {   public static void main(String[] args) {      String[] names = new String[] { "A", "B", "C" };      String[] extended = new String[5];      extended[3] = "D";      extended[4] = "E";      System.arraycopy(names, 0, extended, 0, names.length);      for (String str : extended){         System.out.println(str);      }   }}结果上面的代码示例将产生以下结果。ABCDE

如何删除数组中的一个元素?解决方法下面的示例演示如何从数组中删除一个元素。import java.util.ArrayList;public class Main {   public static void main(String[] args)  {      ArrayList objArray = new ArrayList();      objArray.clear();      objArray.add(0,"0th element");      objArray.add(1,"1st element");      objArray.add(2,"2nd element");      System.out.println("Array before removing an element"+objArray);      objArray.remove(1);      objArray.remove("0th element");      System.out.println("Array after removing an element"+objArray);   }}结果上面的代码示例将产生以下结果。 Array before removing an  element[0th element, 1st element, 2nd element]Array after removing an element[2nd element]


如何查找从数组中的公共元素?解决方法下面的示例演示如何找到从两个数组公共元素,并将它们存储在数组中。import java.util.ArrayList;public class Main {   public static void main(String[] args)  {      ArrayList objArray = new ArrayList();      ArrayList objArray2 = new ArrayList();      objArray2.add(0,"common1");      objArray2.add(1,"common2");      objArray2.add(2,"notcommon");      objArray2.add(3,"notcommon1");      objArray.add(0,"common1");      objArray.add(1,"common2");      objArray.add(2,"notcommon2");      System.out.println("Array elements of array1"+objArray);      System.out.println("Array elements of array2"+objArray2);      objArray.retainAll(objArray2);      System.out.println("Array1 after retaining common       elements of array2 & array1"+objArray);   }}结果上面的代码示例将产生以下结果。 Array elements of array1[common1, common2, notcommon2]Array elements of array2[common1, common2, notcommon,notcommon1]Array1 after retaining common elements of array2 & array1[common1, common2]


如何在Array查找一个对象或一个字符串?解决方法下面的示例使用Contains方法来搜索在Array的String。import java.util.ArrayList;public class Main {   public static void main(String[] args)  {      ArrayList objArray = new ArrayList();      ArrayList objArray2 = new ArrayList();      objArray2.add(0,"common1");      objArray2.add(1,"common2");      objArray2.add(2,"notcommon");      objArray2.add(3,"notcommon1");      objArray.add(0,"common1");      objArray.add(1,"common2");      System.out.println("Array elements of array1"+objArray);      System.out.println("Array elements of array2"+objArray2);      System.out.println("Array 1 contains String common2?? "      +objArray.contains("common1"));      System.out.println("Array 2 contains Array1?? "      +objArray2.contains(objArray) );   }}结果上面的代码示例将产生以下结果。 Array elements of array1[common1, common2]Array elements of array2[common1, common2, notcommon, notcommon1]Array 1 contains String common2?? trueArray 2 contains Array1?? false


如何检查两个数组是否相等?解决方法下面的示例演示如何使用数组的equals()方法来检查两个数组相等与否。import java.util.Arrays;public class Main {   public static void main(String[] args) throws Exception {      int[] ary = {1,2,3,4,5,6};      int[] ary1 = {1,2,3,4,5,6};      int[] ary2 = {1,2,3,4};      System.out.println("Is array 1 equal to array 2?? "      +Arrays.equals(ary, ary1));      System.out.println("Is array 1 equal to array 3?? "      +Arrays.equals(ary, ary2));   }}结果上面的代码示例将产生以下结果。 Is array 1 equal to array 2?? trueIs array 1 equal to array 3?? false



 
原创粉丝点击