21/06/18 JAVA <HashSet>

yeoni·2021년 10월 26일

JAVA

목록 보기
9/18

StdHashList - main method

package arrayListEx;

import java.util.HashSet;

//사진보고 다시 출력해보기


public class StdHashScore {

	public static void main(String[] args) {
		HashSet<StdHashList> data = new HashSet<>();
//		(new StdList("이희연", 65,90,100));은 객체 생성코드
		// 나머지 설명은 jums코드 참고하기
//		
//		int[] score1 = { 90, 30, 50 };
//		int[] score2 = { 50, 80, 50 };
//		int[] score3 = { 90, 60, 50 };

		data.add(new StdHashList("이희연", 90, 30, 50));
		data.add(new StdHashList("황의조", 50, 80, 50));
		data.add(new StdHashList("손흥민", 90, 60, 50));
		data.add(new StdHashList("손흥민", 90, 60, 50));


		for (StdHashList k : data)
			System.out.println(k);// (k) == (k.toString()) 같은 코드임
		

	}

}

StdHashList


package arrayListEx;

import java.util.Objects;

// 사진보고 다시 출력해보기
public class StdHashList {
	String name;
	int jums1;
	int jums2;
	int jums3;

	
	public StdHashList(String name, int jums1, int jums2, int jums3) {
		this.name = name;
		this.jums1 = jums1;
		this.jums2 = jums2;
		this.jums3 = jums3;
	}
	
	public String getName() {
		return name;
	}
	public int getJums1() {
		return jums1;
	}
	public int getJums2() {
		return jums2;
	}
	public int getJums3() {
		return jums3;
	}
	
	public String toString() {
		return "[" + name + jums1 + jums2 + jums3 +"]" + " 합계 : " + (jums1+jums2+jums3);
	}
	
	@Override
	public boolean equals(Object obj) {
		if(obj instanceof StdHashList) {
			StdHashList s = (StdHashList)obj;
		if(this.name.equals(s.name))
			return true;
		else
			return false;
	}
		return false;

	}
	
	
	@Override
	public int hashCode() {
		return Objects.hash(this.name);
		// 최상위 클래스인 오브젝트로 호출
		// 인트값을 리턴해줌
		// 동명이인 가려내는 거기때문에 name을 넣어준것임
	}
	
	
	
	
	
}








/*
@Override
public boolean equals(Object obj) {
	if(obj instanceof StdHashList) {
		StdHashList s = (StdHashList)obj;
	if(this.name.equals(s.name))
	// 디스 네임은 내가 메인메소드에서 k로 호출한 값을 비교하려고 넣은것
	 * s.name은 오브젝트 클래스의 obj를 StdHashList로 형변환 한 뒤에
	 * StdHashList의 s라는 객체에 담아서 
	 * 그 s의 name과 this.name(내가 작성하고 k로 호출한 name)을 비교하는 것
	 * 
	 */
		return true;
	else
		return false; //  두번째 if의 리턴값
}
	return false; // boolean if의 리턴값
}
동명이인이 같으면 true
다르면 false;

*/
profile
24시간이 부족한 개발자

0개의 댓글