본문 바로가기
카테고리 없음

asd

by likewhat9901 2025. 3. 31.

package ex17collection;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Objects;
import java.util.Scanner;

class Avengers {
String name;
String heroName;
String weapon;

public Avengers(String name, String heroName, String weapon) {
    super();
    this.name = name;
    this.heroName = heroName;
    this.weapon = weapon;
}

// "Avengers [본명=name, 닉네임=heroName, 능력=weapon]"
@Override
public String toString() {
    return "Avengers [본명=" + name + ", 닉네임=" + heroName + ", "
            + "능력=" + weapon +"]";
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    Avengers avengers = (Avengers) obj;
    return Objects.equals(heroName, avengers.heroName)
            && Objects.equals(name, avengers.name)
            && Objects.equals(weapon, avengers.weapon);
}

@Override
public int hashCode() {
    return Objects.hash(name, heroName, weapon);
}

}

public class QuHashSet {

public static void main(String[] args) {

    HashSet<Avengers> set = new HashSet<Avengers>();

    Avengers hero1 = new Avengers("토니스타크", "아이언맨", "Mark-48 수트");
    Avengers hero2 = new Avengers("스티브로져스", "캡틴아메리카", "비브라늄 방패");
    Avengers hero3 = new Avengers("브루스배너", "헐크", "강한피부&점프");
    Avengers hero4 = new Avengers("토니스타크", "아이언맨", "Mark-48 수트");

    set.add(hero1);
    set.add(hero2);
    set.add(hero3);
    set.add(hero4);    //중복이므로 저장되지 않음 

    System.out.println("[최초 전체 정보출력]");
    for(Avengers av : set) {
        System.out.println(av.toString());            
    }

    //사용자 검색 기능
    Scanner scan = new Scanner(System.in);
    System.out.print("검색할 이름을 입력하세요: ");
    String searchName = scan.nextLine();
    scan.close();

    boolean found = false;
    Iterator<Avengers> it = set.iterator();
    while (it.hasNext()) {
        Avengers av = it.next(); //next 호출.
        if(av.name.equals(searchName)) {
            System.out.println(av);
            System.out.println("요청하신 정보를 찾았습니다.");
            found = true;
            break;
        }
    }

    if (!found) {
        System.out.println("해당 영웅은 없어요ㅜㅜ");
    }


}

}