Cómo saber cuándo usar .add o .put para agregar a una matriz en Java

Parece que puede estar confundiendo sus estructuras de datos en Java. Java tiene dos tipos de estructura de datos para almacenar colecciones de objetos en tiempo de ejecución:

  1. Colecciones de tamaño flexible como ArrayList, HashMap, etc., que se pueden usar para almacenar instancias de objetos del mismo tipo, por ejemplo, ArrayList .
  2. Colecciones de tamaño fijo como matrices.

Cuando se usan matrices, el número de elementos, es decir, el tamaño de la matriz se debe dar al momento de la creación, por ejemplo

int [] myArray = nuevo int [10];

Las colecciones de tamaño flexible utilizan los métodos que ha mencionado, es decir, poner y agregar. No tienen aplicación para matrices. No puede agregar elementos adicionales a una matriz una vez que se ha creado.

Para acceder a un elemento de matriz, usaría código como:

int i = myArray [4];

Para recuperar el contenido del quinto elemento de la matriz en un entero i. O para establecer el quinto elemento de la matriz en el valor ocho, puede usar el código:

int i = 8;
myArray [4] = 8;

Un último punto es que las colecciones flexibles funcionan solo con tipos de objetos. Las matrices pueden funcionar con objetos y tipos primitivos.

Puede encontrar más información sobre las colecciones y sus métodos, como agregar y colocar en Trail: Colecciones.

Los objetos se agregan a una colección llamando al método add (), que toma un argumento de tipo E, lo que significa que los objetos agregados a una colección deben ser compatibles con el tipo de datos esperados por la colección.

  1. En general, el método add () agrega el elemento al final de la lista.
  2. Agregue los elementos a la lista uno por uno.
  3. Imprime el objeto que invoca.
  4. Muestra el tamaño de la lista usando el método size ().

Obj.add (“A”);
Obj.add (“B”);
System.out.println (Obj);
System.out.println (Obj.size ());
Obj.add (“C”);
Obj.add (“D”);
System.out.println (Obj);
Mediante este proceso, podemos decir que se están agregando elementos en la lista.

Usamos .add (obj) para agregar cualquier objeto a una Lista y .put (clave, valor) para agregar un par de valores clave al Mapa

Lista: la interfaz de Lista extiende la Colección y declara el comportamiento de una colección que almacena una secuencia de elementos.

Hay dos implementaciones de List propósito general: ArrayList y LinkedList .

Mapa: la interfaz de Mapa asigna claves únicas a valores. Una clave es un objeto que utiliza para recuperar un valor en una fecha posterior.

Las tres implementaciones de Map propósito general son HashMap , TreeMap y LinkedHashMap .

Parece que estás hablando de la clase ArrayUtils para manejar matrices. ArrayUtils no es la clase de Java SE pero está disponible con otras bibliotecas, principalmente Apache Commons.

#ArrayUtils Clases e interfaces

El método ArrayUtils.add se usa para agregar un nuevo elemento a la matriz cuando es necesario. Aquí hay un ejemplo de uso

Uso de matrices usando Apache Commons ArrayUtils

El método se utiliza para agregar un elemento a la matriz, aumentando así el tamaño de la matriz en 1.

En una colección Java, el método add () agrega un objeto a la colección. Se aplica a todas las colecciones, incluida ArrayList. Agregar toma un argumento que debe ser del tipo de objetos en la colección. Existe un método put () para Colecciones que implementan Mapa, toma dos argumentos, el primero del tipo de la Clave del Mapa y el segundo del tipo del Valor del Mapa. Los mapas también tienen un método add (), pero no se usa comúnmente porque su único argumento debe ser un objeto Map.Entry que contiene un par de referencias a un objeto Key y Value, y es mucho más fácil usar put (key, valor) en su lugar.

More Interesting

¿Por qué los programadores experimentados dicen que la programación del mundo real es completamente diferente a la programación competitiva?

¿Cuáles son algunos ejemplos de árboles M aplicados a problemas del mundo real?

Si hago algunos cálculos iterando sobre el bucle mientras tomo las entradas. A partir de entonces, imprimiendo el resultado. ¿Puedo decir que es O (1) complejidad?

¿Cuáles son algunas aplicaciones del algoritmo de clasificación de burbujas?

Si los algoritmos avanzados y las estructuras de datos nunca se utilizan en la industria, ¿por qué aprenderlos?

¿Los algoritmos de aprendizaje y las estructuras de datos son muy importantes para la informática y la programación?

¿Cuál es el mejor algoritmo para ordenar una pila de 400 exámenes de algoritmos, si tiene 16 TA?

¿Cuál es un ejemplo de un bucle infinito?

Cómo insertar un conjunto de números en un árbol AVL vacío para que no se requiera rotación

Quiero comparar una consulta con varios documentos y asignarles una clasificación. ¿Qué algoritmo necesito usar?

¿Se puede utilizar el algoritmo de red neuronal artificial en un conjunto de datos dinámicos como el clima o el tráfico?

Si llamo k veces getSuccessor () de un nodo con altura h en una búsqueda de árbol binario. ¿Cómo pruebo que el tiempo de ejecución tomará solo O (k + h)?

¿Por qué es importante el crossover en el algoritmo genético?

¿Es posible usar los poderes de una matriz de adyacencia para calcular las rutas más cortas que BFS calcularía?

¿Cuál es el algoritmo Google + 1 utilizado para Sparks?