Java-Array
Ein Array ist eine Sammlung von Daten desselben Datentyps. Java unterstützt hauptsächlich Arrays. Jede Basiseinheit eines eindimensionalen Arrays besteht aus Daten eines Basisdatentyps eindimensionales Array. Array usw. Jede Grundeinheit eines n-dimensionalen Arrays ist ein n-1-dimensionales Array aus n-1 Arrays. Im Folgenden wird ein eindimensionales Array als Beispiel verwendet, um die Verwendung von Java-Arrays zu veranschaulichen.
1. Array-Deklaration
Array-Deklarationen haben die folgenden zwei Formen (die Positionen der eckigen Klammern sind unterschiedlich):
int arr[];int[] arr2;
2. Array-Initialisierung
Es gibt auch zwei Formen der Array-Initialisierung: (mit new oder ohne new):
int arr[] = new int[]{1, 3, 5, 7, 9};
3. Durchlaufen Sie das Array
Sie können for/foreach verwenden, um das Array wie folgt zu durchlaufen:
public static void main(String[] args) { int arr[] = new int[]{1, 3, 5, 7,9}; (int i = 0; i < arr.length; ++i) { System.out.print(arr[i] + "/t"); } for (int x: arr2) { System.out.print(x + "/t"); // 2 4 6 8 10 } }
4. Arrays.fill() füllt das Array
Um die statischen Methoden der Arrays-Klasse verwenden zu können, müssen Sie das Paket java.util.Arrays importieren, das viele überladene Methoden definiert.
void fill(int[] a, int val) fülle alles
void fill(int[] a, int fromIndex, int toIndex, int val) füllt das Element am angegebenen Index
int[] arr3 = new int[5]; for (int x: arr3) { System.out.print(x + "/t" // 0 0 0 0 0 Alle auf 0 initialisiert } System.out.println (); Arrays.fill(arr3, 10); for (int x: arr3) { System.out.print(x + "/t"); 10 10 Füllen Sie alle auf 10 } System.out.println(); Arrays.fill(arr3, 1, 3, 8); for (int x: arr3) { System.out.print(x + "/t"); // 10 8 8 10 10 Füllen Sie den angegebenen Index aus } System.out.println();
5. Arrays.sort() sortiert das Array
void sort(int[] a) alle sortieren
void sort(int[] a, int fromIndex, int toIndex) sortiert die Elemente am angegebenen Index
int[] arr4 = {3, 7, 2, 1, 9}; for (int x: arr4) { System.out.print(x + "/t"); 3 7 9 } System.out.println(); int[] arr5 = {3, 7, 2, 1, 9}; 1, 3); for (int x: arr5) { System.out.print(x + "/t" // 3 2 7 1 9 } System.out.println();
6. Arrays.copyOf() kopiert ein Array
int[] copyOf(int[] original, int newLength) kopiert das Array und gibt die neue Array-Länge an
int[] copyOfRange(int[] original, int from, int to) kopiert ein Array und gibt dabei den Index des kopierten Originalarrays an
int[] arr6 = {1, 2, 3, 4, 5}; int[] arr7 = Arrays.copyOf(arr6, 5); // 1 2 3 4 5 int[] arr8 = Arrays.copyOfRange(arr6, 1 , 3); // 2 3 for (int x: arr7) { System.out.print(x + "/t"); } System.out.println(); for (int x: arr8) { System.out.print(x + "/t" } System.out.println();
Java-String
Der Java-String-Typ ist die String-Klasse. Im Folgenden wird beschrieben, wie Strings bedient werden.
1. String-Verkettung
Bei der Zeichenfolgenverkettung wird das Symbol „+“ verwendet, wie im folgenden Beispiel:
String s = new String("Hello"); String s2 = new String("World"); System.out.println(s + " " + s2);
2. Ermitteln Sie die Stringlänge
Um die Länge einer Zeichenfolge zu ermitteln, verwenden Sie str.length(), wie im folgenden Beispiel:
String s3 = new String("Hallo Java"); System.out.println(s3.length());
3. Rufen Sie den Index der angegebenen Zeichenfolge ab
Um den Index einer angegebenen Zeichenfolge zu erhalten, verwenden Sie str.indexOf(substr), str.lastIndexOf(substr), wie im folgenden Beispiel gezeigt:
String s4 = new String("how are you"); System.out.println(s4.indexOf("o")); // 1 Finden Sie System.out.println(s4.lastIndexOf("o")). Anfang; // 9 Suche vom Ende
4. Holen Sie sich das Zeichen am angegebenen Index
Um das Zeichen am angegebenen Index abzurufen, verwenden Sie str.charAt(index), wie im folgenden Beispiel:
String s5 = new String("Hallo Java"); System.out.println(s5.charAt(4));
5. Entfernen Sie Leerzeichen aus Zeichenfolgen
Es gibt viele Möglichkeiten, Leerzeichen in einer Zeichenfolge zu entfernen. Verwenden Sie str.trim() oder str.replaceAll(regex, replacement). Sie können Zeichenfolgen auch mit Leerzeichen trennen. StringTokenizer vor der Verwendung, das folgende Beispiel:
String s6 = new String(" Hello Java "); String s7 = s6.trim(); // Leerzeichen am Anfang und Ende des Strings entfernen String s8 = s6.replaceAll(" ", ""); Zeichen Alle Leerzeichen im String StringTokenizer st = new StringTokenizer(s6, " "); // Leerzeichen verwenden, um Strings zu trennen StringBuffer sb = new StringBuffer(); (st.hasMoreTokens()) { sb.append(st.nextToken() } System.out.println("/"" + s6 + "/"" + "length = " + s6.length()); // "Hallo Java "length = 14 System.out.println("/"" + s7 + "/"" + "length = " + s7.length()); Java"length = 10 System.out.println("/"" + s8 + "/"" + "length = " + s8.length()); // "HelloJava"length = 9 System.out.println(" /"" + sb.toString() + "/"" + "length = " + sb.toString().length()); // "HelloJava" length = 9
6. Ersetzen Sie die Zeichenfolge
Eine Ersatzzeichenfolge kann alle Teilzeichenfolgen oder die erste Teilzeichenfolge ersetzen, wie im folgenden Beispiel gezeigt:
String sr = new String("abc abd bcd"); String sr2 = sr.replace("ab", "xx"); // Alle Teilzeichenfolgen ersetzen String sr3 = sr.replaceFirst("ab", "xx"); // Ersetze die erste Zeichenfolge System.out.println(sr2); // "xxc xxd bcd" System.out.println(sr3); „xxc adb bcd“
7. String-Urteil
Es gibt viele Situationen für die String-Gleichheit, z. B. die Gleichheit des String-Inhalts, ob die Groß-/Kleinschreibung ignoriert werden soll, die Gleichheit der Speicheradresse, die Beurteilung des String-Starts oder -Endes usw., wie unten gezeigt:
String se = new String("Summer is so Hot"); String se1 = new String("Summer is so Hot"); .println(se == se1); // false vergleicht Speicher anstelle von String-Inhalten System.out.println(se == se3); // true System.out.println(se.equals(se1)); String-Inhalte vergleichen System.out.println(se.equals(se2)); // false System.out.println(se.equalsIgnoreCase(se2)); // true case ignorieren System.out.println(se2.startsWith" summer")); // true startet den String System.out.println(se2.endsWith("cold")); // false beendet den String
8. Konvertierung von Zeichenfolgen in Groß- und Kleinschreibung
Beispiele für die Konvertierung von Zeichenfolgen in Groß- und Kleinschreibung sind wie folgt:
String sc = new String("hello WORLD"); String scl = sc.toLowerCase(); // hello world wird in Kleinbuchstaben umgewandelt. String scu = sc.toUpperCase(); // HELLO WORLD wird in Großbuchstaben umgewandelt. println( scl + " " + scu);
9. String-Trennung
Zeichenfolgentrennzeichen lauten wie folgt:
String ss = new String("abc,def,g,h"); String[] ss2 = ss.split(","); Durch Kommas trennen for (String x: ss2) { System.out.print( x + "/t"); // abc def gh }
10. Zeichenfolge formatieren
Es gibt viele Formen der Zeichenfolgenformatierung, z. B. Datumsformatierung, Zeitformatierung, Dezimalkonvertierung usw. Die Verwendung der Date-Klasse erfordert das Importpaket java.util.Date, wie im folgenden Beispiel gezeigt:
Date d = new Date(); System.out.println(d); // Mi 22. Juli 16:00:36 CST 2015 Standardformat System.out.println(String.format("%tm", d)); // 07 zweistelliger Monat System.out.println(String.format("%tH", d)); Zweistelliges 24-Stunden-System.out.println(String.format("%x", 256)); // 100 hexadezimal
11. Vergleich der Klassen String, StringBuffer und StringBuilder
String: String-Konstante, unveränderliches Objekt. Wenn der Variableninhalt mehrmals und häufig geändert wird, wirkt sich dies negativ auf die Systemleistung aus und führt insbesondere dazu, dass der GC zu arbeiten beginnt . wird die Programmgeschwindigkeit sehr langsam.
StringBuffer: String-Variable, Thread-sicher. Wenn der Variableninhalt geändert wird, wird tatsächlich dasselbe Objekt bearbeitet, und die Effizienz ist höher als beim String-Typ.
StringBuilder: String-Variable, kompatibel mit StringBuffer, aber nicht threadsicher. Wenn es Single-Threaded ist, verwenden Sie zuerst StringBuilder, es ist schneller als StringBuffer.