자바 day 027 집합의 링크 드 리스트 와 set
1. LinkedList 개요
LinkedList 의 바 텀 저장 데이터 구 조 는 양 방향 링크 구조 이다.
2. LinkedList 가 알 아야 할 방법
boolean addFirst(E e);
첫 번 째 삽입 법, 표 머리 에 요 소 를 추가 합 니 다.
boolean addLast(E e);
꼬리 삽입 법, 표 끝 에 요 소 를 추가 합 니 다.
E getFirst();
첫 번 째 노드 노드 노드 데이터 가 져 오기
E getLast();
마지막 노드 노드 노드 데이터 가 져 오기
E removeFirst();
첫 번 째 노드 삭제
E removeLast();
마지막 노드 삭제
LInkedList 예제
import java.util.LinkedList;
public class TestLinkedList {
public static void main(String[] args) {
LinkedList<String> a1 = new LinkedList<String>();
a1.add(" ");
a1.add(" ");
a1.add(" ");
a1.add(" ");
a1.add(" ");
System.out.println(a1);
a1.addFirst(" ");
System.out.println(a1);
a1.addLast(" ");
System.out.println(a1);
System.out.println(a1.removeFirst());
System.out.println(a1.removeLast());
System.out.println(a1.getFirst());
System.out.println(a1.getLast());
}
}
/*
:
[ , , , , ]
[ , , , , , ]
[ , , , , , , ]
*/
3. Set 집합 개요
집합 저장 소 설정:
HashSet
바 텀 저장 데이터 구 조 는 해시 표 이다.
TreeSet
바 텀 저장 데 이 터 는 균형 이 진 트 리 입 니 다.
HashSet 개요
HashSet 저장 과정 에서 요 소 를 추가 하 는 hashCode 방법 이 필요 합 니 다. equals 방법 도 관련 될 수 있 습 니 다.
equals 방법 은 우리 가 피해 야 합 니 다.
코드 데모:
import java.util.HashSet;
public class TestHashSet {
public static void main(String[] args) {
HashSet<String> a1 = new HashSet<String>();
a1.add(" ");
a1.add(" ");
a1.add(" ");
a1.add(" ");
a1.add(" ");
System.out.println(a1);
a1.add(" ");
System.out.println(a1.size());
System.out.println(a1);
}
}
/*
:
[ , , , , ]
5
[ , , , , ]
*/
hashCode 와 equals 방법 캐릭터
TreeSet 코드 데모
import java.util.TreeSet;
public class TestTreeSet {
public static void main(String[] args) {
TreeSet<Integer> a1 = new TreeSet<Integer>();
a1.add(24);
a1.add(30);
a1.add(46);
a1.add(100);
a1.add(10);
a1.add(11);
System.out.println(a1);
}
}
/*
:
[10, 11, 24, 30, 46, 100]
*/
주의:
TreeSet 집합 에 넣 은 대상 은 자 연 스 러 운 순서 나 비교 방식 이 있어 야 합 니 다. 잘못 보고 하지 않 으 면
비교 방식 완성:
예시:
package com.qfedu.study.Linkedlistandset;
import java.util.Comparator;
import java.util.TreeSet;
/**
* Animal Comparable ,
* @author Arkay
*
*/
class Animal implements Comparable<Animal> {
int age;
String name;
public Animal() {}
public Animal(int age, String name) {
super();
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Animal [age=" + age + ", name=" + name + "]";
}
@Override
public int compareTo(Animal o) {
return o.age - this.age;
}
}
/**
* Animal
* @author Arkay
*
*/
class AnimalCompare implements Comparator<Animal> {
@Override
public int compare(Animal o1, Animal o2) {
return o1.age - o2.age;
}
}
public class TestTreeSet {
public static void main(String[] args) {
TreeSet<Animal> a1 = new TreeSet<Animal>();
a1.add(new Animal(2, " "));
a1.add(new Animal(5, " "));
a1.add(new Animal(8, " "));
System.out.println(a1);
TreeSet<Animal> a2 = new TreeSet<Animal>(new AnimalCompare());
a2.add(new Animal(1, " "));
a2.add(new Animal(9, " "));
a2.add(new Animal(3, " "));
System.out.println(a2);
}
}
/*
:
[Animal [age=8, name= ], Animal [age=5, name= ], Animal [age=2, name= ]]
[Animal [age=1, name= ], Animal [age=3, name= ], Animal [age=9, name= ]]
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx 입문 급 소 개 는 설치, 기본 사용, 부하 균형, 동정 분리, 역방향 에이전트, 캐 시 응용 등 기능 을 포함한다.nginx 공식 사이트 에서 원본 패키지 다운로드 (http://www.nginx.org/ ) 그리고 스트레스 를 푼다.본 고 를 발표 할 때 최신 판 1.3.0 이 방금 발표 되 었 으 니 1.2.0 을 사용 하 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.