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;
*/