Arrays
- Array is aggregate data types that contains elements of the items in an array.
- Built-in in Java for primitives or references.
- Jagged array vs Retangular array
- Enhanced for loop
- Array Class: java.util.Arrays
- fill (arrayName, value) // Fill out all elements to "value"
- fill (arrayName, fromIndex, toIndes_plus_1, value)
- equals (array1, array2)
- copyOf (arrayFrom, length) // JDK 1.6+ shallow copy for ref type
- copyOfRange (arrayFrom, fromIndes, toIndex_plus_one) // JDK 1.6+
- sort (arrayName) // MUST implememts Comparable Interface
- sort (arrayName, fromIndex, toIndex)
- binarySearch (arrayName, value) // Must have compareTo, sort or binarySearch method defined and must do Arrays.sort first for binarySearch
Example
String [] sArray; String sArray[]; sArray = new String[]; sArray = new String[10]; sArray = new String[10][]; String [] SArray = new String[]; String sArray [] = {"Mary", "Susan", "Raymond"}; double [] dArray = new double[10]; double [] prices = {12.95, 11.95, 10.95}; final int TOTAL_STUDENTS = 50; Scanner sc = new Scanner(System.in); int totalStudents = sc.nextInt(); String [] StudentsA = new String[TOTAL_STUDENTS]; String [] StudentsB = new String[totalStudents]; StudentsA[0] = "Mary"; String[] name1 = {"Forrest Gump", "A Beautiful Mind"}; String[] name2 = {"Forrest Gump", "A Beautiful Mind"}; // if (name1 == name2) ==> gives "false" // if (Arrays.equals(name1, name2) ==> gives "true" Public interface Comparable { int compareTo (Object obj); } class Item implements Comparable { private int number; private String name; public Item (int n, String s) { this.number = n; this.name = s; } public int getNumber () { return number; } // This overriding compareTo compares the first field // which is the item.number in this case // can be altered by supplementing with another // class implementing "Comparator" interface // to compare by name // @Ovrride public int compareTo(Object o) { if (o instanceof Item) { Item i = (Item) o; if (this.getNumber() < i.getNumber()) { return -1; } else if (this.getNumber() > i.getNumber()) { return 1; } return 0; } } } public class ItemOtherCompare implements Comparator { public int compare (Object o1, Objece o2) { int i1 = ((Item) o1).getOtherField(); int i2 = ((Item) o2).getOtherField(); if (i1 > i2) return 1; if (i2 > i2) return -1; return 0; } public boolean equals (Object o1, Object o2) { int i1 = ((Item) o1).getOtherField(); int i2 = ((Item) o2).getOtherField(); return (i1 == i2); return false; } } // Arrays.sort(items); // this will sort by first field data // Arrays.sort(items, new ItemOtherCompare()); // this will sort by other field
No comments:
Post a Comment