Obtenga el subconjunto de una matriz en Java
-
Utilice el método
Arrays.copyOf()
para obtener el subconjunto de una matriz -
Utilice el método
Arrays.copyOfRange()
para obtener el subconjunto de una matriz -
Use el método
Stream.IntStream
de Java 8 para obtener el subconjunto de una matriz -
Utilice el método
System.arraycopy()
para obtener el subconjunto de una matriz - Use Apache Commons Lang para obtener el subconjunto de una matriz
- Use la conversión de lista para obtener el subconjunto de una matriz
- Use el método personalizado para obtener el subconjunto de una matriz
Este tutorial demuestra algunos métodos para obtener el subconjunto de una matriz en Java.
Utilice el método Arrays.copyOf()
para obtener el subconjunto de una matriz
Arrays.copyOf()
es un método incorporado en Java Util, que copia una matriz especificada a otra matriz del tipo especificado. Este método puede obtener el subconjunto de un arreglo, pero no funcionará si el subarreglo comienza en un índice que no sea el primer índice.
Ejemplo:
package delftstack;
import java.util.Arrays;
public class Array_Subset {
public static void main(String[] args) {
String[] demo_array = new String[] {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int End_Index = 5;
String[] Subset = Arrays.copyOf(demo_array, End_Index, String[].class);
System.out.println(Arrays.toString(Subset));
}
}
El código anterior copiará un subconjunto de la matriz dada desde el índice de inicio al End_index
dado.
Producción :
[Delftstack1, Delftstack2, Delftstack3, Delftstack4, Delftstack5]
Utilice el método Arrays.copyOfRange()
para obtener el subconjunto de una matriz
El método Arrays.copyOfRange()
se usa para copiar un subconjunto de una matriz con índices iniciales y finales dados. Copiará el subconjunto a otra matriz.
Ejemplo:
package delftstack;
import java.util.Arrays;
public class Array_Subset {
public static <Demo> Demo[] Array_Subset(Demo[] Array, int Begin_Index, int End_Index) {
return Arrays.copyOfRange(Array, Begin_Index, End_Index);
}
public static void main(String[] args) {
String[] Demo_Array = {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int Begin_Index = 2;
int End_Index = 7;
String[] Subset = Array_Subset(Demo_Array, Begin_Index, End_Index);
System.out.println(Arrays.toString(Subset));
}
}
Producción :
[Delftstack3, Delftstack4, Delftstack5, Delftstack6, Delftstack7]
Use el método Stream.IntStream
de Java 8 para obtener el subconjunto de una matriz
También podemos usar Java Stream para obtener el subconjunto de una matriz. Obtendrá una secuencia de elementos entre el rango especificado y la colocará en una matriz.
Ejemplo:
package delftstack;
import java.util.Arrays;
import java.util.stream.IntStream;
public class Array_Subset {
public static void main(String[] args) {
String[] Demo_Arrary = {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int Begin_Index = 2;
int End_Index = 7;
String[] Subset = IntStream.range(Begin_Index, End_Index)
.mapToObj(x -> Demo_Arrary[x])
.toArray(String[] ::new);
System.out.println(Arrays.toString(Subset));
}
}
Producción :
[Delftstack3, Delftstack4, Delftstack5, Delftstack6, Delftstack7]
Utilice el método System.arraycopy()
para obtener el subconjunto de una matriz
El método System.arraycopy()
puede copiar un subconjunto de una matriz con índices iniciales y finales dados. Copiará el subconjunto a otra matriz.
Ejemplo:
package delftstack;
import java.util.Arrays;
public class Array_Subset {
public static void main(String[] args) {
String[] Demo_Array = new String[] {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int Begin_Index = 2;
int End_Index = 7;
String[] Subset = new String[End_Index - Begin_Index];
System.arraycopy(Demo_Array, Begin_Index, Subset, 0, Subset.length);
System.out.println(Arrays.toString(Subset));
}
}
System.arraycopy()
funciona de manera similar a Arrays.copyOfRange()
. Copiará un subconjunto de una matriz dentro de un rango específico.
Producción :
[Delftstack3, Delftstack4, Delftstack5, Delftstack6, Delftstack7]
Use Apache Commons Lang para obtener el subconjunto de una matriz
La clase ArrayUtils
proporciona la funcionalidad para obtener un subconjunto de una matriz utilizando el método subarray()
. Este método devuelve un objeto con el rango de elementos especificado.
Ejemplo:
package delftstack;
import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;
public class Array_Subset {
public static void main(String[] args) {
String[] Demo_Array = new String[] {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int Begin_Index = 2;
int End_Index = 7;
Object[] Subset = ArrayUtils.subarray(Demo_Array, Begin_Index, End_Index);
System.out.println(Arrays.toString(Subset));
}
}
Producción :
[Delftstack3, Delftstack4, Delftstack5, Delftstack6, Delftstack7]
Use la conversión de lista para obtener el subconjunto de una matriz
Este método convierte una matriz en una lista y utiliza el método subList()
para obtener un subconjunto de una matriz dentro del rango especificado y copiarlo en otra matriz.
Ejemplo:
package delftstack;
import java.util.Arrays;
public class Array_Subset {
public static void main(String[] args) {
String[] Demo_Array = new String[] {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int Begin_Index = 2;
int End_Index = 7;
String[] Subset =
Arrays.asList(Demo_Array).subList(Begin_Index, End_Index).toArray(new String[0]);
System.out.println(Arrays.toString(Subset));
}
}
Producción :
[Delftstack3, Delftstack4, Delftstack5, Delftstack6, Delftstack7]
Use el método personalizado para obtener el subconjunto de una matriz
Escribamos nuestro método para obtener el subconjunto de una matriz. Podemos usar el bucle for
para obtener el subconjunto de una matriz dentro del rango especificado.
Ejemplo:
package delftstack;
import java.util.Arrays;
public class Array_Subset {
public static void main(String[] args) {
String[] Demo_Array = new String[] {"Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4",
"Delftstack5", "Delftstack6", "Delftstack7"};
int Begin_Index = 2;
int End_Index = 7;
String[] Subset = new String[End_Index - Begin_Index];
for (int x = 0; x < Subset.length; x++) {
Subset[x] = Demo_Array[Begin_Index + x];
}
System.out.println(Arrays.toString(Subset));
}
}
Producción :
[Delftstack3, Delftstack4, Delftstack5, Delftstack6, Delftstack7]
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook