Tableau Java
Un tableau est une collection de données du même type de données. Java prend principalement en charge les tableaux. Chaque unité de base d'un tableau unidimensionnel est une donnée d'un type de données de base. Un tableau à deux dimensions signifie que chaque unité de base est une dimension d'un. tableau à une dimension. Array, et ainsi de suite, chaque unité de base d'un tableau à n dimensions est un tableau à n-1 dimensions de n-1 tableaux. Ce qui suit utilise un tableau unidimensionnel comme exemple pour illustrer l'utilisation des tableaux Java.
1. Déclaration de tableau
Les déclarations de tableau ont les deux formes suivantes (les positions des crochets sont différentes) :
int arr[];int[] arr2;
2. Initialisation du tableau
Il existe également deux formes d'initialisation de tableau, comme suit (en utilisant new ou sans new) :
int arr[] = nouveau int[]{1, 3, 5, 7, 9}; int[] arr2 = {2, 4, 6, 8, 10};
3. Parcourez le tableau
Vous pouvez utiliser for/foreach pour parcourir le tableau, comme suit :
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"); // 1 3 5 7 9 } pour (int x : arr2) { System.out.print(x + "/t"); // 2 4 6 8 10 } }
4. Arrays.fill() remplit le tableau
Pour utiliser les méthodes statiques de la classe Arrays, vous devez importer le package java.util.Arrays, qui définit de nombreuses méthodes surchargées.
void fill(int[] a, int val) remplir tout
void fill(int[] a, int fromIndex, int toIndex, int val) remplit l'élément à l'index spécifié
int[] arr3 = new int[5]; for (int x: arr3) { System.out.print(x + "/t"); // 0 0 0 0 0 Tous initialisés à 0 } System.out.println (); Arrays.fill(arr3, 10); pour (int x : arr3) { System.out.print(x + "/t"); 10 10 Remplissez tout jusqu'à 10 } System.out.println(); Arrays.fill(arr3, 1, 3, 8); for (int x: arr3) { System.out.print(x + "/t"); // 10 8 8 10 10 Remplir l'index spécifié } System.out.println();
5. Arrays.sort() trie le tableau
void sort(int[] a) trier tout
void sort(int[] a, int fromIndex, int toIndex) trie les éléments à l'index spécifié
int[] arr4 = {3, 7, 2, 1, 9}; Arrays.sort(arr4); for (int x: arr4) { System.out.print(x + "/t"); 3 7 9 } System.out.println(); int[] arr5 = {3, 7, 2, 1, 9}; 1, 3); pour (int x : arr5) { System.out.print(x + "/t"); // 3 2 7 1 9 } System.out.println();
6. Arrays.copyOf() copie un tableau
int[] copyOf(int[] original, int newLength) copie le tableau et spécifie la nouvelle longueur du tableau
int[] copyOfRange(int[] original, int from, int to) copie un tableau, en spécifiant l'index du tableau original copié
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 pour (int x: arr7) { System.out.print(x + "/t"); } System.out.println(); for (int x: arr8) { System.out.print(x + "/t" } System.out.println();
Chaîne Java
Le type de chaîne Java est la classe String. Ce qui suit décrit comment utiliser les chaînes.
1. Concaténation de chaînes
La concaténation de chaînes utilise le symbole « + », comme dans l'exemple suivant :
String s = new String("Bonjour"); String s2 = new String("Monde"); System.out.println(s + " " + s2);
2. Obtenez la longueur de la chaîne
Pour obtenir la longueur d'une chaîne, utilisez str.length(), comme dans l'exemple suivant :
String s3 = new String("Bonjour Java"); System.out.println(s3.length());
3. Obtenez l'index de la chaîne spécifiée
Pour obtenir l'index d'une chaîne spécifiée, utilisez str.indexOf(substr), str.lastIndexOf(substr), comme indiqué dans l'exemple suivant :
String s4 = new String("comment allez-vous"); System.out.println(s4.indexOf("o")); // 1 Recherchez System.out.println(s4.lastIndexOf("o")) à partir du début ; // 9 Recherche à partir de la fin
4. Obtenez le caractère à l'index spécifié
Pour obtenir le caractère à l'index spécifié, utilisez str.charAt(index), comme dans l'exemple suivant :
String s5 = new String("Bonjour Java"); System.out.println(s5.charAt(4));
5. Supprimez les espaces des chaînes
Il existe de nombreuses façons de supprimer des espaces dans une chaîne. Utilisez str.trim() ou str.replaceAll(regex, remplacement). Vous pouvez également utiliser la classe StringTokenizer pour séparer les chaînes avec des espaces. StringTokenizer avant utilisation, l'exemple suivant :
String s6 = new String(" Bonjour Java "); String s7 = s6.trim(); // Supprime les espaces au début et à la fin de la chaîne String s8 = s6.replaceAll(" ", ""); caractères Tous les espaces dans la chaîne StringTokenizer st = new StringTokenizer(s6, " "); // Utiliser des espaces pour séparer les chaînes StringBuffer sb = new StringBuffer(); (st.hasMoreTokens()) { sb.append(st.nextToken()); } System.out.println("/"" + s6 + "/"" + "length = " + s6.length()); // "Bonjour Java "length = 14 System.out.println("/"" + s7 + "/"" + "length = " + s7.length()); Java"length = 10 System.out.println("/"" + s8 + "/"" + "length = " + s8.length()); // "BonjourJava"length = 9 System.out.println(" /"" + sb.toString() + "/"" + "length = " + sb.toString().length()); // "HelloJava" longueur = 9
6. Remplacer la chaîne
La chaîne de remplacement peut remplacer toutes les sous-chaînes ou la première sous-chaîne, comme le montre l'exemple suivant :
String sr = new String("abc abd bcd"); String sr2 = sr.replace("ab", "xx"); // Remplacer toutes les sous-chaînes String sr3 = sr.replaceFirst("ab", "xx") ; // Remplace la première chaîne System.out.println(sr2); // "xxc xxd bcd" System.out.println(sr3); "xxc adbbcd"
7. Jugement de chaîne
Il existe de nombreuses situations pour l'égalité des chaînes, telles que l'égalité du contenu des chaînes, l'ignorance de la casse, l'égalité des adresses mémoire, le jugement de début ou de fin de chaîne, etc., comme indiqué ci-dessous :
String se = new String("L'été est si chaud"); String se1 = new String("L'été est si chaud"); String se2 = new String("L'été est si chaud"); .println(se == se1); // false compare la mémoire au lieu du contenu de la chaîne System.out.println(se == se3); // true System.out.println(se.equals(se1)); Comparer le contenu de la chaîne System.out.println(se.equals(se2)); // false System.out.println(se.equalsIgnoreCase(se2)); // true ignorer la casse System.out.println(se2.startsWith (" summer")); // true démarre la chaîne System.out.println(se2.endsWith("cold")); // false termine la chaîne
8. Conversion de casse de chaîne
Des exemples de conversion de casse de chaîne sont les suivants :
String sc = new String("hello WORLD"); String scl = sc.toLowerCase(); // hello world est converti en minuscules String scu = sc.toUpperCase(); // HELLO WORLD est converti en majuscules System.out. println( scl + " " + scu);
9. Séparation des chaînes
Les délimiteurs de chaînes sont les suivants :
String ss = new String("abc,def,g,h"); String[] ss2 = ss.split(","); // Séparé par des virgules pour (String x: ss2) { System.out.print( x + "/t"); // abc def gh }
10. Formater la chaîne
Il existe de nombreuses formes de formatage de chaîne, telles que le formatage de la date, le formatage de l'heure, la conversion décimale, etc. L'utilisation de la classe Date nécessite le package d'importation java.util.Date, comme le montre l'exemple suivant :
Date d = new Date(); System.out.println(d); // Mercredi 22 juillet 16:00:36 CST 2015 Format par défaut System.out.println(String.format("%tm", d)); // 07 mois à deux chiffres System.out.println(String.format("%tH", d)); system.out.println(String.format("%x", 256));
11. Comparaison des classes String, StringBuffer et StringBuilder
String : objet String constant et immuable. Lorsque le contenu de la variable est modifié, un nouvel objet String est en fait généré. Lorsque le contenu de la variable est modifié plusieurs fois et fréquemment, cela aura un impact sur les performances du système, provoquant notamment le démarrage du GC. . , la vitesse du programme deviendra très lente.
StringBuffer : variable String, thread-safe Lorsque le contenu de la variable est modifié, le même objet est réellement utilisé et l'efficacité est supérieure à celle du type String.
StringBuilder : variable String, compatible avec StringBuffer, mais non thread-safe. Si elle est monothread, utilisez d'abord StringBuilder, elle est plus rapide que StringBuffer.