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