java 중복 대상 제거의 간단한 실례
import java.util.*;
class Person {
private String name;
private int age;
Person(String name,int age){
this.name=name;
this.age=age;
}
public boolean equals(Object obj){
if(!(obj instanceof Person))
return false;
Person p=(Person)obj;
return this.name.equals(p.name) && this.age==p.age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
public class ArrayListTest2{
public static void main(String args[])
{
ArrayList al=new ArrayList();
al.add(new Person("zhangsan1",22));
al.add(new Person("zhangsan2",33));
al.add(new Person("zhangsan3",44));
al.add(new Person("zhangsan5",88));
al.add(new Person("zhangsan4",55));
al.add(new Person("zhangsan1",22));
//al.add(new Person("zhangsan3",44));
al = singelElements(al);
Iterator it1=al.iterator();
while(it1.hasNext()){
Person p=(Person)it1.next();
sop(p.getName()+"..."+p.getAge());
}
/*Iterator it=al.iterator();
while(it.hasNext()){
Person p= (Person)it.next();// person getAge() getName()
sop(p.getName()+"..."+p.getAge());
}*/
}
public static ArrayList singelElements(ArrayList al){
ArrayList newal=new ArrayList();
Iterator it=al.iterator();
while(it.hasNext()){
Object obj=it.next();
if(!newal.contains(obj))
newal.add(obj);
}
return newal;
}
public static void sop(Object obj){
System.out.println(obj);
}
}
문제 해결 방법: 중복되지 않는 대상을 저장하기 위해 임시 용기 ArrayList를 만듭니다.두 번 교체기를 사용하여 대상을 꺼내서 중복되지 않는 대상을 입력하십시오.여기에는 Person 클래스에서 같은 요소가 있는지 비교하기 위해 equals 방법을 정의해야 한다는 것을 주의해야 한다.그 중에서 instance의 용법은 대상이 이 클래스에 속하는지 판단하고true를 되돌려주지 않으면false를 되돌려줍니다.
자바 프로그래밍에서 ArrayLis 등 용기에서contains와remove 방법을 호출할 때 equals 방법을 호출합니다.이것은 많은 사람들이 주의하지 않는 지식점이다.
지금까지 여러분에게 가져온 자바 중복 제거 대상의 간단한 실례 전부입니다. 많은 응원 부탁드립니다~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.