Articles of colecciones

Cómo copiar un java.util.List en otro java.util.List

Tengo una List que se completa desde un servicio web. Quiero copiar / clonar el contenido de esa lista en una lista vacía del mismo tipo. Una búsqueda en Google para copiar una lista me sugirió usar el método Collections.copy() . En todos los ejemplos que vi, se suponía que la lista de destinos contenía […]

Collections.synchronizedList y sincronizado

List list = Collections.synchronizedList(new ArrayList()); synchronized (list) { list.add(“message”); } ¿El bloque “sincronizado (lista) {}” realmente necesita aquí?

Obtener un elemento de un conjunto

¿Por qué Set no proporciona una operación para obtener un elemento que sea igual a otro elemento? Set set = …; … Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo Puedo preguntar si el Set contiene un elemento igual a la […]

Diccionario de valor múltiple?

¿Alguien sabe de una buena implementación de un MultiValueDictionary ? Básicamente, quiero algo que permita múltiples valores por clave. Quiero ser capaz de hacer algo como dict.Add(key, val); Y si la clave aún no existe, se agregará, si lo hace, agregará otro valor a esa clave. Voy a iterar sobre eso, así que realmente no […]

¿Cómo guardo el orden de iteración de una lista cuando uso Collections.toMap () en una secuencia?

Estoy creando un Map partir de una List siguiente manera: List strings = Arrays.asList(“a”, “bb”, “ccc”); Map map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); Quiero mantener el mismo orden de iteración que estaba en la List . ¿Cómo puedo crear un LinkedHashMap usando los métodos Collectors.toMap() ?

¿Por qué LinkedHashSet amplía HashSet e implementa Set

Abrió un código fuente LinkedHashSet hoy y encontró algo interesante: public class LinkedHashSet extends HashSet implements Set, Cloneable, java.io.Serializable { La pregunta es: ¿por qué necesitan tanto “extends HashSet” como “implements Set” cuando HashSet ya es el Set?

Eliminar elementos de una colección en Java mientras se itera sobre ella

Quiero poder eliminar varios elementos de un conjunto mientras estoy iterando sobre él. Inicialmente esperaba que los iteradores fueran lo suficientemente inteligentes como para que la siguiente solución ingenua funcione. Set set = new HashSet(); fillSet(set); Iterator it = set.iterator(); while (it.hasNext()) { set.removeAll(setOfElementsToRemove(it.next())); } Pero esto arroja una ConcurrentModificationException . Tenga en cuenta que […]

Crear una lista de primitiva int?

¿Hay alguna manera de crear una lista de primitivos int o primitivos en java como los siguientes? List myList = new ArrayList(); Parece que puedo hacer List myList = new ArrayList(); y agrega “int” en esta lista. Pero entonces esto significaría que puedo agregar algo a esta lista. ¿Es mi única opción, crear una matriz […]

Operaciones de conjuntos clásicos para java.util.Collection

¿Hay alguna funcionalidad incorporada para las operaciones de conjunto clásico en la clase java.util.Collection? Mi implementación específica sería para ArrayList, pero esto parece algo que debería aplicarse a todas las subclases de Collection. Estoy buscando algo como: ArrayList setA … ArrayList setB … ArrayList setAintersectionB = setA.intersection(setB); ArrayList setAminusB = setA.subtract(setB); Después de algunas búsquedas, […]

Lo opuesto a Intersecar ()

Intersect se puede usar para buscar coincidencias entre dos colecciones, como las siguientes: // Assign two arrays. int[] array1 = { 1, 2, 3 }; int[] array2 = { 2, 3, 4 }; // Call Intersect extension method. var intersect = array1.Intersect(array2); // Write intersection to screen. foreach (int value in intersect) { Console.WriteLine(value); // […]