Java 베이스 06 컬렉션 클래스
컬렉션 개요
Collection 커넥터
Collection은 모든 단일 열 집합의 부모 인터페이스입니다
기능 추가(숙련)
boolean add(Object obj):
boolean addAll(Collection c):
삭제 기능(숙련)
void clear():
boolean remove(Object obj):
boolean removeAll(Collection c):
판단 기능(장악)
boolean isEmpty():
boolean contains(Object obj):
boolean containsAll(Collection c):
역주행 기능(습득)
Iterator iterator():
길이 기능(숙련)
int size():
교차 기능
boolean retainAll(Collection c):
전환 기능
Object[] toArray():
List 커넥터
void add(int index,Object obj):
삭제 기능
Object remove(int index):
수정 기능
Object set(int index,Object obj):
가져오기 기능
Object get(int index):
int indexOf(Object obj):
ListIterator listIterator():
set 인터페이스
범용
Hash와 Tree 쓰기 대상은 주의해야 할 사항입니다
HashSet의dd() 방법을 통해 사용자 정의 대상을 무겁게 하려면,hashCode와 equals 두 가지 방법을 다시 사용해야 한다는 것을 알 수 있습니다
equals 방법 다시 쓰기 절차
public boolean equals(Object obj){
//
//
// , null
}
@Override
public boolean equals(Object obj) {
System.out.println(this + "----------" + obj);
//
if(obj == this){
return true;
}
//
if(!(obj instanceof Student)){
return false;
}
Student s = (Student)obj;
if(s.name != null){
if(this.name.equals(s.name)){
if(this.age == s.age){
return true;
}
}
}
return false;
}
hashCode 메서드 재작성 단계
public int hashCode(){
return ;
// hashCode ,
// , 1 ,
// , equals ,
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return this.name.hashCode() + this.age * 13;
}
TreeSet에는 두 가지 방법이 있는데 하나는 대상이comparable 인터페이스를 실현하고compareTo를 다시 쓰는 방법이다. 다른 하나는 비교기 대상을 만드는 것이다. 비교기 대상에서comparator 인터페이스를 실현하고compare 방법을 다시 쓰는 것이다. TreeSet 대상을 만들 때 비교기 대상을 만드는 것이다.
매개 변수로 전달하거나 매개 변수로 익명 내부 클래스 사용하기
@Override
public int compareTo(Person o) {
// TODO Auto-generated method stub
//
int num = this.name.length() - o.name.length();
//
num = (num == 0) ? this.age - o.age : num;
//
num = (num == 0) ? this.name.compareTo(o.name) : num;
return num;
}
public class MyComparator implements Comparator {
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
//
int num = o1.getName().length() - o2.getName().length();
//
num = (num == 0) ? o1.getAge() - o2.getAge() : num;
//
num = (num == 0) ? o1.getName().compareTo(o2.getName()) : num;
return num;
}
}
//
//MyComparator mc = new MyComparator();
//
//new (){};
//new (){};
TreeSet ts = new TreeSet(
new Comparator() {
@Override
public int compare(Student o1, Student o2) {
//
return o1.getAge() - o2.getAge();
}
}
);
Java Basic 07IO
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.