Java : AbstractCollection con ejemplos

AbstractCollection (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos AbstractCollection<E>.

Nota :


Summary

Esta clase proporciona una implementación esquelética de la interfaz Colección, para minimizar el esfuerzo requerido para implementar esta interfaz. (Traducción automática)

Class diagram

class MyCollection extends AbstractCollection<String> {
    private final String[] values;

    MyCollection(String[] values) {
        this.values = Objects.requireNonNull(values);
    }

    @Override
    public Iterator<String> iterator() {
        return new Iterator<>() {
            private int index;

            @Override
            public boolean hasNext() {
                return values.length != index;
            }

            @Override
            public String next() {
                final var value = values[index];
                index++;
                return value;
            }
        };
    }

    @Override
    public int size() {
        return values.length;
    }
}

final var collection = new MyCollection(new String[]{"aaa", "bbb", "ccc"});

System.out.println(collection); // [aaa, bbb, ccc]
System.out.println(collection.size()); // 3
System.out.println(collection.isEmpty()); // false

System.out.println("-- values --");
for (final var value : collection) {
    System.out.println(value);
}

// Result
// ↓
//-- values --
//aaa
//bbb
//ccc

Constructors

AbstractCollection ()

Constructor único. (Traducción automática)

class MyCollection extends AbstractCollection<String> {
    private final String[] values;

    MyCollection(String[] values) {
        this.values = Objects.requireNonNull(values);
    }

    @Override
    public Iterator<String> iterator() {
        return new Iterator<>() {
            private int index;

            @Override
            public boolean hasNext() {
                return values.length != index;
            }

            @Override
            public String next() {
                final var value = values[index];
                index++;
                return value;
            }
        };
    }

    @Override
    public int size() {
        return values.length;
    }
}

final var collection = new MyCollection(new String[]{"aaa", "bbb", "ccc"});

System.out.println(collection); // [aaa, bbb, ccc]
System.out.println(collection.size()); // 3
System.out.println(collection.isEmpty()); // false

System.out.println("-- values --");
for (final var value : collection) {
    System.out.println(value);
}

// Result
// ↓
//-- values --
//aaa
//bbb
//ccc

Methods

boolean add (E e)

Asegura que esta colección contenga el elemento especificado (operación opcional). (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
System.out.println(collection.add("aaa")); // true
System.out.println(collection.add("bbb")); // true
System.out.println(collection.add("bbb")); // true

System.out.println(collection); // [aaa, bbb, bbb]
final AbstractCollection<String> collection = new HashSet<>();
System.out.println(collection.add("aaa")); // true
System.out.println(collection.add("bbb")); // true
System.out.println(collection.add("bbb")); // false

System.out.println(collection); // [aaa, bbb]

boolean addAll (Collection<? extends E> c)

Agrega todos los elementos de la colección especificada a esta colección (operación opcional). (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();

final var list1 = List.of("aaa", "bbb");
final var list2 = List.of("bbb", "ccc");
final var list3 = List.of("ccc");

System.out.println(collection.addAll(list1)); // true
System.out.println(collection); // [aaa, bbb]

System.out.println(collection.addAll(list2)); // true
System.out.println(collection); // [aaa, bbb, bbb, ccc]

System.out.println(collection.addAll(list3)); // true
System.out.println(collection); // [aaa, bbb, bbb, ccc, ccc]
final AbstractCollection<String> collection = new HashSet<>();

final var set1 = Set.of("aaa", "bbb");
final var set2 = Set.of("bbb", "ccc");
final var set3 = Set.of("ccc");

System.out.println(collection.addAll(set1)); // true
System.out.println(collection); // [aaa, bbb]

System.out.println(collection.addAll(set2)); // true
System.out.println(collection); // [aaa, ccc, bbb]

System.out.println(collection.addAll(set3)); // false
System.out.println(collection); // [aaa, ccc, bbb]

void clear ()

Elimina todos los elementos de esta colección (operación opcional). (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
collection.add("aaa");
collection.add("bbb");
collection.add("ccc");

System.out.println(collection); // [aaa, bbb, ccc]

collection.clear();

System.out.println(collection); // []
System.out.println(collection.isEmpty()); // true

boolean contains (Object o)

Devuelve verdadero si esta colección contiene el elemento especificado. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
Collections.addAll(collection, "aaa", "bbb", "ccc");
System.out.println(collection); // [aaa, bbb, ccc]

System.out.println(collection.contains("aaa")); // true
System.out.println(collection.contains("bbb")); // true
System.out.println(collection.contains("XXX")); // false

boolean containsAll (Collection<?> c)

Devuelve verdadero si esta colección contiene todos los elementos de la colección especificada. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
Collections.addAll(collection, "aaa", "bbb", "ccc");
System.out.println(collection); // [aaa, bbb, ccc]

final var list1 = List.of("aaa", "bbb");
System.out.println(collection.containsAll(list1)); // true

final var list2 = List.of("bbb", "XXX");
System.out.println(collection.containsAll(list2)); // false

final var list3 = List.of("XXX", "YYY");
System.out.println(collection.containsAll(list3)); // false

boolean isEmpty ()

Devuelve verdadero si esta colección no contiene elementos. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();

System.out.println(collection); // []
System.out.println(collection.size()); // 0
System.out.println(collection.isEmpty()); // true

collection.add("aaa");
System.out.println(collection); // [aaa]
System.out.println(collection.size()); // 1
System.out.println(collection.isEmpty()); // false

collection.add("bbb");
System.out.println(collection); // [aaa, bbb]
System.out.println(collection.size()); // 2
System.out.println(collection.isEmpty()); // false

abstract Iterator<E> iterator ()

Devuelve un iterador sobre los elementos contenidos en esta colección. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
Collections.addAll(collection, "aaa", "bbb", "ccc");
System.out.println(collection); // [aaa, bbb, ccc]

final var iterator = collection.iterator();
iterator.forEachRemaining(System.out::println);

// Result
// ↓
//aaa
//bbb
//ccc

boolean remove (Object o)

Elimina una sola instancia del elemento especificado de esta colección, si está presente (operación opcional). (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
collection.add("aaa");
collection.add("bbb");
collection.add("ccc");

System.out.println(collection); // [aaa, bbb, ccc]

System.out.println(collection.remove("aaa")); // true
System.out.println(collection); // [bbb, ccc]

System.out.println(collection.remove("bbb")); // true
System.out.println(collection); // [ccc]

System.out.println(collection.remove("XXX")); // false
System.out.println(collection); // [ccc]

boolean removeAll (Collection<?> c)

Elimina todos los elementos de esta colección que también estén contenidos en la colección especificada (operación opcional). (Traducción automática)

final var src = List.of("aaa", "bbb", "ccc");

{
    final AbstractCollection<String> collection = new ArrayList<>(src);
    System.out.println(collection); // [aaa, bbb, ccc]

    final var list = List.of("aaa", "bbb");
    System.out.println(collection.removeAll(list)); // true
    System.out.println(collection); // [ccc]
}
{
    final AbstractCollection<String> collection = new ArrayList<>(src);
    System.out.println(collection); // [aaa, bbb, ccc]

    final var list = List.of("XXX", "YYY");
    System.out.println(collection.removeAll(list)); // false
    System.out.println(collection); // [aaa, bbb, ccc]
}
{
    final AbstractCollection<String> collection = new ArrayList<>(src);
    System.out.println(collection); // [aaa, bbb, ccc]

    final var list = List.of("aaa", "bbb", "ccc", "XXX");
    System.out.println(collection.removeAll(list)); // true
    System.out.println(collection); // []
}

boolean retainAll (Collection<?> c)

Conserva únicamente los elementos de esta colección que están contenidos en la colección especificada (operación opcional). (Traducción automática)

final var src = List.of("aaa", "bbb", "ccc");

{
    final AbstractCollection<String> collection = new ArrayList<>(src);
    System.out.println(collection); // [aaa, bbb, ccc]

    final var list = List.of("aaa", "bbb");
    System.out.println(collection.retainAll(list)); // true
    System.out.println(collection); // [aaa, bbb]
}
{
    final AbstractCollection<String> collection = new ArrayList<>(src);
    System.out.println(collection); // [aaa, bbb, ccc]

    final var list = List.of("XXX", "YYY");
    System.out.println(collection.retainAll(list)); // true
    System.out.println(collection); // []
}
{
    final AbstractCollection<String> collection = new ArrayList<>(src);
    System.out.println(collection); // [aaa, bbb, ccc]

    final var list = List.of("aaa", "bbb", "ccc", "XXX");
    System.out.println(collection.retainAll(list)); // false
    System.out.println(collection); // [aaa, bbb, ccc]
}

Object[] toArray ()

Devuelve una matriz que contiene todos los elementos de esta colección. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
Collections.addAll(collection, "aaa", "bbb", "ccc");
System.out.println(collection); // [aaa, bbb, ccc]

final Object[] ret = collection.toArray();
System.out.println(Arrays.toString(ret)); // [aaa, bbb, ccc]

<T> T[] toArray (T[] a)

Devuelve una matriz que contiene todos los elementos de esta colección; el tipo de tiempo de ejecución de la matriz devuelta es el de la matriz especificada. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();
Collections.addAll(collection, "aaa", "bbb", "ccc");
System.out.println(collection); // [aaa, bbb, ccc]

{
    final String[] ret = collection.toArray(new String[0]);
    System.out.println(Arrays.toString(ret)); // [aaa, bbb, ccc]
}
{
    final String[] array = new String[collection.size()];
    System.out.println(Arrays.toString(array)); // [null, null, null]

    final var ret = collection.toArray(array);
    System.out.println(Arrays.toString(ret)); // [aaa, bbb, ccc]

    System.out.println(Arrays.toString(array)); // [aaa, bbb, ccc]
}

String toString ()

Devuelve una representación de cadena de esta colección. (Traducción automática)

final AbstractCollection<String> collection = new ArrayList<>();

final var str1 = collection.toString();
System.out.println(str1); // []

collection.add("aaa");

final var str2 = collection.toString();
System.out.println(str2); // [aaa]

collection.add("bbb");
collection.add("ccc");

final var str3 = collection.toString();
System.out.println(str3); // [aaa, bbb, ccc]

Methods declared in Collection

equals, hashCode, parallelStream, removeIf, size, spliterator, stream, toArray

Consulte el siguiente enlace.

Methods declared in Iterable

forEach

Consulte el siguiente enlace.


Related posts

To top of page