Establecer la subclase (HashSet, TreeSet)

directorio

Conjunto

SET no permitido aumentar la recogida de datos duplicados, configurado para utilizar HashSet.

Aquí Insertar imagen Descripción

Los métodos más comunes:

método explicación
add public boolean (E e); El aumento de los datos
public boolean contains (Object o) datos de la consulta
remove pública booleano (Object o) Quitar los datos especificados
Tamaño public int () El número total de adquisición de datos
public void clear () Borrar datos
Conjunto de public static () Creación de un conjunto de recopilación especificando el contenido
		//使用of创建的Set集合,数据不允许修改和重复
        Set<Integer> setA = Set.of(1,2,3,4,5,6,7,8);    
        Set<Integer> setB = new HashSet<>();
        Set<Integer> setC = new TreeSet<>();
        Set<Integer> setD = new LinkedHashSet<>();

HashSet (almacenamiento de hash)

iguales de anulación (datos de comparación) y hashCode en clase (obtener la codificación de objetos) pueden resolver el problema de los datos por duplicado.
Aquí Insertar imagen Descripción

Cuando se utiliza el constructor sin argumentos, HashSet capacidad por defecto es 16, cuando se almacenan los datos en la capacidad actual de expansión 75% automáticamente.

** Ejemplo: ** datos almacenados no se ordena HashSet

 Set<String> set = new HashSet<>();
        set.add("1 java");
        set.add("2 hello");
        set.add("3 world");
        set.add("4 ");
        set.add("5");
        System.out.println(set);

resultados:

[1 java, 5, 3 world, 4 , 2 hello]

TreeSet (almacenamiento ordenado)

clasificar de forma automática (de menor a mayor).

Aquí Insertar imagen Descripción

construcción:

método explicación
TreeSet pública () interfaz Comparable con el orden predeterminado
TreeSet pública (Comparador <? Super E> comparador) Se puede especificar para ordenar el uso de una interfaz Comparador

TreeSet Ejemplo de pedido:

Set<String> set = new TreeSet<>();
        set.add("1 java");
        set.add("4 ");
        set.add("3 world");
        set.add("2 hello");
        set.add("5");
        System.out.println(set);

resultados:

[1 java, 2 hello, 3 world, 4 , 5]

Cuando se utiliza TreeSet objetos de datos ordenados, puesto que los datos se clasifican de acuerdo con la interfaz Comparable se determina para repetir el mismo, mientras que sólo determina entonces si otros datos iguales fase, es problemático en muchos casos los datos, como en el caso de 50 datos.

  public int compareTo(Ball ball) {
        if(this.price > ball.price){
            return 1;
        }else if(this.price < ball.price){
            return -1;
        }else {
            return this.brand.compareTo(ball.brand);	//判断生产时期是否相等
        }
    }
Publicado 61 artículos originales · ganado elogios 0 · Vistas 2182

Supongo que te gusta

Origin blog.csdn.net/sabstarb/article/details/104593588
Recomendado
Clasificación