matriz de Java
Una matriz es una colección de datos del mismo tipo de datos. Java admite principalmente matrices. Cada unidad básica de una matriz unidimensional son datos de un tipo de datos básico. Una matriz bidimensional significa que cada unidad básica es una dimensión de. matriz unidimensional, etc., cada unidad básica de una matriz n-dimensional es una matriz n-1-dimensional de n-1 matrices. A continuación se utiliza una matriz unidimensional como ejemplo para ilustrar el uso de matrices Java.
1. Declaración de matriz
Las declaraciones de matriz tienen las dos formas siguientes (las posiciones de los corchetes son diferentes):
int arr[];int[] arr2;
2. Inicialización de la matriz
También hay dos formas de inicialización de matrices, como se muestra a continuación (usando nuevo o no usando nuevo):
int arr[] = nuevo int[]{1, 3, 5, 7, 9};int[] arr2 = {2, 4, 6, 8, 10};
3. Recorre la matriz.
Puede utilizar for/foreach para recorrer la matriz, de la siguiente manera:
public static void main(String[] args) { int arr[] = new int[]{1, 3, 5, 7,9}; int[] arr2 = {2, 4, 6, 8, 10}; (int i = 0; i < longitud.arr; ++i) { System.out.print(arr[i] + "/t"); } for (int x: arr2) { System.out.print(x + "/t"); // 2 4 6 8 10 } }
4. Arrays.fill() llena la matriz
Para utilizar los métodos estáticos de la clase Arrays, es necesario importar el paquete java.util.Arrays, que define muchos métodos sobrecargados.
relleno vacío (int [] a, int val) llenar todo
void fill(int[] a, int fromIndex, int toIndex, int val) llena el elemento en el índice especificado
int[] arr3 = new int[5]; for (int x: arr3) { System.out.print(x + "/t"); // 0 0 0 0 0 Todo inicializado a 0 } System.out.println (); Arrays.fill(arr3, 10); para (int x: arr3) { System.out.print(x + "/t"); 10 10 Llenar todo hasta 10 } System.out.println(); Arrays.fill(arr3, 1, 3, 8); for (int x: arr3) { System.out.print(x + "/t"); // 10 8 8 10 10 Complete el índice especificado } System.out.println();
5. Arrays.sort() ordena la matriz
clasificación vacía (int [] a) ordenar todo
void sort(int[] a, int fromIndex, int toIndex) ordena los elementos en el índice especificado
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); para (int x: arr5) { System.out.print(x + "/t"); // 3 2 7 1 9 } System.out.println();
6. Arrays.copyOf() copia una matriz
int[] copyOf(int[] original, int newLength) copia la matriz y especifica la nueva longitud de la matriz
int[] copyOfRange(int[] original, int from, int to) copia una matriz, especificando el índice de la matriz original copiada
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 para (int x: arr7) { System.out.print(x + "/t"); } Sistema.out.println(); para (int x: arr8) { Sistema.out.print(x + "/t");
cadena java
El tipo de cadena de Java es la clase String. A continuación se describe cómo operar cadenas.
1. Concatenación de cadenas
La concatenación de cadenas utiliza el símbolo "+", como en el siguiente ejemplo:
String s = new String("Hola"); String s2 = new String("Mundo"); System.out.println(s + " " + s2);
2. Obtén la longitud de la cuerda.
Para obtener la longitud de una cadena, utilice str.length(), como en el siguiente ejemplo:
Cadena s3 = nueva Cadena ("Hola Java"); System.out.println(s3.length());
3. Obtenga el índice de la cadena especificada.
Para obtener el índice de una cadena especificada, utilice str.indexOf(substr), str.lastIndexOf(substr), como se muestra en el siguiente ejemplo:
String s4 = new String("cómo estás"); System.out.println(s4.indexOf("o")); // 1 Encuentra System.out.println(s4.lastIndexOf("o")) del principio; // 9 Buscar desde el final
4. Obtenga el carácter en el índice especificado.
Para obtener el carácter en el índice especificado, use str.charAt(index), como en el siguiente ejemplo:
String s5 = new String("Hola Java"); System.out.println(s5.charAt(4));
5. Eliminar espacios de las cadenas.
Hay muchas formas de eliminar espacios en una cadena. Utilice str.trim() o str.replaceAll(regex, replacement). También puede utilizar la clase StringTokenizer para separar cadenas con espacios. StringTokenizer antes de su uso, el siguiente ejemplo:
String s6 = new String(" Hola Java "); String s7 = s6.trim(); // Elimina espacios al principio y al final de la cadena String s8 = s6.replaceAll(" ", ""); caracteres Todos los espacios en la cadena StringTokenizer st = new StringTokenizer(s6, " " // Usa espacios para separar cadenas StringBuffer sb = new StringBuffer(); (st.hasMoreTokens()) { sb.append(st.nextToken()); System.out.println("/"" + s6 + "/"" + "longitud = " + s6.length()); // "Hola Java "longitud = 14 System.out.println("/"" + s7 + "/"" + "longitud = " + s7.length()); Java"longitud = 10 System.out.println("/"" + s8 + "/"" + "longitud = " + s8.length()); // "HolaJava"length = 9 System.out.println(" /"" + sb.toString() + "/"" + "longitud = " + sb.toString().length()); // "HolaJava"longitud = 9
6. Reemplace la cuerda
La cadena de reemplazo puede reemplazar todas las subcadenas o la primera subcadena, como se muestra en el siguiente ejemplo:
String sr = new String("abc abd bcd"); String sr2 = sr.replace("ab", "xx"); // Reemplazar todas las subcadenas String sr3 = sr.replaceFirst("ab", "xx"); // Reemplazar la primera cadena System.out.println(sr2); // "xxc xxd bcd" System.out.println(sr3); "bcd adb xxc"
7. Juicio de cuerdas
Hay muchas situaciones para la igualdad de cadenas, como la igualdad del contenido de la cadena, si se ignoran las mayúsculas y minúsculas, la igualdad de la dirección de memoria, el juicio de inicio o fin de la cadena, etc., como se muestra a continuación:
String se = new String("El verano es muy caluroso"); String se1 = new String("El verano es muy caluroso"); String se2 = new ("el verano es muy caluroso"); .println(se == se1); // false compara la memoria en lugar del contenido de la cadena System.out.println(se == se3); // true System.out.println(se.equals(se1)); Comparar el contenido de la cadena System.out.println(se.equals(se2)); // false System.out.println(se.equalsIgnoreCase(se2)); // verdadero ignorar case System.out.println(se2.startsWith (" summer")); // verdadero comienza la cadena System.out.println(se2.endsWith("cold")); // false termina la cadena
8. Conversión de mayúsculas y minúsculas
Ejemplos de conversión de cadenas entre mayúsculas y minúsculas son los siguientes:
String sc = new String("hello WORLD"); String scl = sc.toLowerCase(); // hola mundo se convierte a minúsculas String scu = sc.toUpperCase() // HOLA MUNDO se convierte a mayúsculas System.out. println(scl + " " + scu);
9. Separación de cuerdas
Los delimitadores de cadenas son los siguientes:
String ss = new String("abc,def,g,h"); String[] ss2 = ss.split(","); // Separar por comas para (String x: ss2) { System.out.print( x + "/t"); // abc def gh }
10. Formatear cadena
Hay muchas formas de formato de cadenas, como formato de fecha, formato de hora, conversión decimal, etc. El uso de la clase Date requiere el paquete de importación java.util.Date, como se muestra en el siguiente ejemplo:
Fecha d = nueva Fecha(); System.out.println(d); // miércoles 22 de julio 16:00:36 CST 2015 Formato predeterminado System.out.println(String.format("%tm", d)); // 07 mes de dos dígitos System.out.println(String.format("%tH", d)); // 16 Sistema de dos dígitos de 24 horas.out.println(String.format("%x", 256)); // 100 hexadecimal
11. Comparación de las clases String, StringBuffer y StringBuilder
Cadena: objeto de cadena constante e inmutable. Cuando se cambia el contenido de la variable, en realidad se genera un nuevo objeto de cadena. Cuando el contenido de la variable se cambia varias veces y con frecuencia, tendrá un impacto en el rendimiento del sistema, especialmente haciendo que el GC comience a funcionar. , la velocidad del programa será muy lenta.
StringBuffer: variable de cadena, segura para subprocesos. Cuando se cambia el contenido de la variable, en realidad se opera el mismo objeto y la eficiencia es mayor que el tipo String.
StringBuilder: variable de cadena, compatible con StringBuffer, pero no segura para subprocesos. Si es de un solo subproceso, use StringBuilder primero, es más rápido que StringBuffer.