Inicialización rápida de objetos de tipo colección de Java

En Java, la inicialización de un objeto de tipo colección generalmente consiste en crear primero el objeto y luego agregar elementos a la colección. Esta forma de escribir es intuitiva, pero se siente redundante al escribir código. ¿Hay alguna forma interesante de simplificar la definición? y la inicialización?
Este artículo presenta la forma sencilla de definir e inicializar matrices de cadenas, objetos de tipo Lista y Mapa.

Inicialización simplificada de arreglos de cadenas

Método de escritura comúnmente utilizado:

		String[] strArray = new String[3] ;
		strArray[0] = "1";
		strArray[1] = "2";
		strArray[2] = "3";

Escritura simplificada:

String[] strArray = new String[] {"1","2","3"};

Aquí se usa una línea de código para reemplazar cuatro líneas de código, ¿no está muy simplificado?

Inicialización simplificada de listas

La forma común de escribir es crear primero el objeto y luego agregarle elementos. El código es el siguiente:

		List<String> list = new ArrayList<String>();
		list.add("1");
		list.add("2");
		list.add("3");

Escritura simplificada:

List<String> list = Arrays.asList("1","2","3");

La inicialización del objeto de tipo lista se establece mediante el método asList() de Arrays.

Inicialización simplificada del tipo de mapa: en desuso

Map almacena datos en forma de pares clave-valor.El código para definir un objeto de tipo HashMap e inicializarlo es el siguiente:

		Map<String,String> map = new HashMap<String,String>();
		map.put("key1", "1");
		map.put("key2", "2");
		map.put("key3", "3");

Puede usar la inicialización de doble llave para inicializar fácilmente HashMap, el código es el siguiente:

		Map<String,String> map = new HashMap<String,String>(){
   
   {
			put("key1", "1");
			put("key2", "2");
			put("key3", "3");
		}};

El método anterior logra el propósito de definir e inicializar HashMap simplemente creando una subclase anónima y llamando al método put en el bloque de código de inicialización.

Tenga en cuenta, sin embargo, que este enfoque puede causar pérdidas de memoria en algunos escenarios, porque la subclase anónima mantiene una referencia a la clase externa. Y la simplificación del código anterior no es alta, por lo que no se recomienda el método de simplificación de Map.

El código de muestra para este artículo.



Supongo que te gusta

Origin blog.csdn.net/oscar999/article/details/130876307
Recomendado
Clasificación