R-C ~ K Pro-Ejercicio de reclutamiento de Java Collection Framework (Lista)

Descripción

  • Escuché al maestro decir que esta pregunta es una pregunta para estudiantes de nivel 15, cambie el color y deje que todos la entiendan lentamente (sin ofender, sin ofender)

Inserte la descripción de la imagen aquí
Descripción
El aristócrata soltero C ~ K ha tenido suficiente de vivir solo, quiere encontrar una novia que lo acompañe a estudiar con él, por lo que envió un aviso a todo el país.
Debido a que CK es muy bueno, muchas niñas de todo el país han enviado sus propios formularios de solicitud. DaYu, bajo CK, lo ayudó a organizar estos formularios de solicitud. Cada vez que se recibe un nuevo formulario de solicitud, se enviará este formulario de solicitud. Ponlo encima.
Para ser justos, CK decidió revisar los formularios de registro en el orden en que los enviaron las hermanas, y CK no come cilantro o personas a las que les gusta el cilantro, por lo que no quiere ver los formularios de registro de personas a las que les gusta el cilantro. Y algunas niñas están muy ansiosas y han enviado varios formularios de registro, y estos formularios de registro duplicados deben eliminarse.
C ~ K le pidió a DaYu que reorganizara y clasificara estos formularios de registro, pero hay demasiados formularios de registro, DaYu no puede resolverlos, así que DaYu viene a pedirle ayuda.


El formulario de registro enviado por la niña de entrada incluye el nombre de la niña, la presentación de la niña y si a la niña le gusta comer cilantro (verdadero o falso). El mismo formulario de registro está reservado para el primero.

Se
espera que la salida C ~ K vea la secuencia del formulario de registro

Muestra

Input
Feng Sister Te amo False
Furong Quiero estar contigo False
dayu Tal vez esto sea amor Falso
té con leche jeje True
Furong Quiero estar contigo False
Output
dayu Tal vez esto sea amor False
Furong Quiero estar contigo False
Feng Sister Te amo Falso
Pista
Cuando reader.hasNext () == falso, la entrada termina

PD: las personas mayores son realmente fuertes

Resolución de problemas

Ideas

Construya un ArrayList para almacenar los datos, luego use contains para juzgar y finalmente use reverse para invertir
el método contains que se usa principalmente en esta pregunta.Inserte la descripción de la imagen aquí

Código AC

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Main {
    
    

	public static void main(String[] args) {
    
    
       Scanner cin=new Scanner(System.in);
       List<People> list=new ArrayList<People>();
     
       while(cin.hasNext()&&cin.hasNext()!=false)
       {
    
    
    	   People peo=new People(cin.next(),cin.next(),cin.next());
    	   if(!list.contains(peo)&&peo.choose.equals("False"))
    	   {
    
    
    		   list.add(peo);
    	   }
       }
       Collections.reverse(list);
       for(People pe:list)
       {
    
    
    	   System.out.println(pe);
       }
	}

}
class People
{
    
    
	String name;
	String content;
	String choose;
	public People(String name, String neirong, String choose) {
    
    
		super();
		this.name = name;
		this.content = neirong;
		this.choose = choose;
	}
	
	@Override
	public int hashCode() {
    
    
		final int prime = 31;
		int result = 1;
		result = prime * result + ((choose == null) ? 0 : choose.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + ((content == null) ? 0 : content.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
    
    
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		People other = (People) obj;
		if (choose == null) {
    
    
			if (other.choose != null)
				return false;
		} else if (!choose.equals(other.choose))
			return false;
		if (name == null) {
    
    
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (content == null) {
    
    
			if (other.content != null)
				return false;
		} else if (!content.equals(other.content))
			return false;
		return true;
	}

	@Override
	public String toString() {
    
    
		return  name + " "+ content + " "+ choose;
	}
	
}

Supongo que te gusta

Origin blog.csdn.net/rookie636/article/details/109554432
Recomendado
Clasificación