Acerca de los métodos de recolección de lista y comparar la eficiencia de eliminación de datos duplicados

La primera:

Realización de las ideas: el uso de dos para un bucle a través del conjunto de todos los elementos, y después determina si el mismo elemento, en su caso, se elimina. Este enfoque es la mayor parte del primer pensamiento es la implementación más sencilla.

Entre ellos, de esta manera podemos garantizar la recogida Lista de orden original sin cambios.

/ ** 
* Notas:使用两个para循环Lista实现去重@param  lista @return 
* / 
pública  estática  Lista repeatListWayOne (List <String>  lista) {
    a ( int i = 0; i <list.size () ; i ++ ) {
        para ( int j = i + 1; j <list.size (); j ++ ) {
            si (list.get (i) .equals (list.get (j))) { 
               list.remove (j) ; 
           } 
       } 
   } 
   Regresar  lista; 

}

 

El segundo:

Realización de las ideas: sabemos interfaz implementa hashset Set no permite elementos duplicados. Puede estar basado en esta idea, el conjunto de todos los elementos en el objeto de lista HashSet, y luego borrar todos los elementos de la colección de lista,

Finalmente se añade objeto HashSet a la lista de todos los elementos de la colección, a fin de garantizar la no duplicación de elementos. Y hay un HashSet elementos de constructor pueden añadirse directamente durante la inicialización. Lo cual, HashSet no garantiza el orden sin cambios, por lo que este método no puede garantizar la recogida Lista de orden original sin cambios.

/ ** 
* Notas: Lista de usar para lograr HashSet peso @param  lista @return 
* / 
pública  estática  Lista repeatListWayTwo (List <String>  lista) {
   // inicializar el objeto HashSet, la lista de objetos y el elemento asignado al objeto HashSet 
  HashSet SET =  new new  HashSet (Lista);
   // el conjunto de todos los elementos de Lista vacía 
  list.clear ();
   // añadir al conjunto de objetos de lista HashSet 
  list.addAll (SET);
   retorno  Lista; 

}

 

En tercer lugar:

Realización de las ideas: Colección TreeSet también implementa la interfaz conjunto, es un elementos ordenados, y no repetidas de la colección. Del mismo modo, podemos ir re-pensar sobre la base de las dos formas anteriores. En donde, la lista puede ser re-establece en el orden original y son coherentes.

/ ** 
* Notas: Lista de usar para lograr el peso TreeSet @param  lista @return 
* / 
pública  estática  Lista repeatListWayThird (List <String>  lista) {
    // Inicializar lista de objetos TreeSet y el elemento asignado a los objetos TreeSet 
   TreeSet SET =  nueva nueva  TreeSet (Lista);
    // el conjunto de todos los elementos de Lista vacía 
   list.clear ();
    // añadir a la lista de objetos conjunto TreeSet 
   list.addAll (SET);
    retorno  Lista; 

}

 

cuarto:

Realización de las ideas: el uso de recorrer la colección de lista contiene método, primero debe crear una nueva colección de lista, a continuación, recorrer la colección de lista original para determinar si la nueva colección contiene una colección de edad, y si es así, no se añade a la nueva colección, de lo contrario agregar.

Por último, la colección de edad vació, la nueva colección de elementos asignados a la antigua colección.

/ ** 
* Notas: Método de eliminación de datos duplicados utilizando un bucle a través de la lista contiene un conjunto de @ param  Lista @return 
* / 
pública  estática  Lista repeatListWayFourth (List <String>  Lista) {
    // el nuevo conjunto de nueva lista, para el almacenamiento de deduplicación elementos de 
   List <String> newList =  nuevo nuevo  el ArrayList <String> ();
    // bucle a través del viejo conjunto de elementos 
   para ( int i = 0; I <list.size (); I ++ ) {
        // determina si el nuevo conjunto comprende, si no contiene, entonces el nuevo conjunto almacenado 
       de Boole isContains = newList.contains (List.get (I));
        SI (! isContains) { 
           newList.add (List.get (I)); 
       }
   } 
   // el conjunto de todos los elementos de Lista vacía 
   list.clear ();
    // añadir un nuevo conjunto de elementos de un conjunto de Lista 
   list.addAll (newList);
    retorno  Lista; 

}

 

Resumen: La segunda manera es la mejor manera de volver a codificar el más simple y el tiempo total más rápido.

 

Supongo que te gusta

Origin www.cnblogs.com/ZJOE80/p/12562430.html
Recomendado
Clasificación