다크호스 프로그래머지도 2 열 집합
1. Map 2 열 집합 에 대한 개술
Map
Map: 。 ; 。
Map .
Map Collection :
Map , Collection
Map , Collection
Map , Collection Set
Map , Collection
Map :
a:
V put(K key, V value):
b:
void clear():
V remove(Object key):
c:
Set> entrySet()
V get(Object key):
Set keySet(): Set
Collection values():
d:
boolean containsKey(Object key): key
boolean containsValue(Object value):
boolean isEmpty():
e:
int size():
2. 맵 집합
Map :
(1).
a:
b: ,
c:
(2) Set> entrySet(): Set
:
entrySet
Map :
a: entrySet Set
b: Set ,
c:
K getKey() 。
V getValue() 。
코드 구현:
public class HashMapTest {
public static void main(String[] args) {
// Map
Map hm = new HashMap();
// ( )
hm.put(" ", " ");
hm.put(" ", " ");
hm.put(" ", " ");
//
// Set
Set keys = hm.keySet();
//
for (String key : keys) {
//
String value = hm.get(key);
//
System.out.println(key + "----" + value);
}
System.out.println("--------------------");
//
// Set
Set> en = hm.entrySet();
//
for (Entry e : en) {
//
String key = e.getKey();
//
String value = e.getValue();
//
System.out.println(key + "----" + value);
}
}
}
3. HashMap , Student , String
Student: ,
Map , HashMap , ,
hashCode , equals .
HashMap . Map
,
null null
Hashtable
,
null null
LinkedHashMap: , ,
:
:
public class LinkedHashMapTest {
public static void main(String[] args) {
//
LinkedHashMap lh = new LinkedHashMap();
// : , "java" " 2"
lh.put("hello", " ");
lh.put("world", " ");
lh.put("java", " ");
lh.put("java", " 2");
//
Set keys = lh.keySet();
//
for (String key : keys) {
//
String value = lh.get(key);
//
System.out.println(key + "----" + value);
}
}
}
4. TreeMap: 밑 에 있 는 데이터 구 조 는 이 진 트 리 입 니 다.
원 소 를 정렬 할 수 있 습 니 다:
a: 자연 정렬
요소 에 대한 요구 사항: 요소 가 Comparable 인 터 페 이 스 를 실현 하고 compare To 방법 을 복사 해 야 합 니 다.
b: 비교 기 정렬
첫 번 째 자연 정렬 법: Student Comparable 인터페이스 구현, copare To 복사 방법
public class Student implements Comparable{
private String name ;
private int age ;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
//
int num = this.getAge() - o.getAge() ;
//
int num2 = (num == 0) ? this.getName().compareTo(o.getName()) : num ;
return num2;
}
}
// :
public class TreeMapTest01 {
public static void main(String[] args) {
// TreeMap
TreeMap tm =new TreeMap();
//
Student s1 = new Student(" " , 23) ;
Student s2 = new Student(" " , 28) ;
Student s3 = new Student(" " , 21) ;
Student s4 = new Student(" " , 18) ;
Student s5 = new Student(" " , 22) ;
Student s6 = new Student(" " , 23) ;
//
tm.put(s1, " ") ;
tm.put(s2, " ") ;
tm.put(s3, " ") ;
tm.put(s4, " ") ;
tm.put(s5, "baby") ;
tm.put(s6, " ") ;
// :
Set keys = tm.keySet();
for (Student s : keys) {
//
String value = tm.get(s);
//
System.out.println(s.getName() + "---" + s.getAge() + "---" + value);
}
}
}
두 번 째 비교 기 정렬:
//
public class Student {
private String name ;
private int age ;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
// :
public class TreeMapTest02 {
public static void main(String[] args) {
// TreeMap
TreeMap tm = new TreeMap(new Comparator() {
@Override
public int compare(Student s1, Student s2) {
// TODO Auto-generated method stub
//
int num = s1.getAge() - s2.getAge() ;
//
int num2 = (num == 0) ? s1.getName().compareTo(s2.getName()) : num ;
return num2;
}
});
//
Student s1 = new Student(" " , 23) ;
Student s2 = new Student(" " , 28) ;
Student s3 = new Student(" " , 21) ;
Student s4 = new Student(" " , 18) ;
Student s5 = new Student(" " , 22) ;
Student s6 = new Student(" " , 23) ;
//
tm.put(s1, " ") ;
tm.put(s2, " ") ;
tm.put(s3, " ") ;
tm.put(s4, " ") ;
tm.put(s5, "baby") ;
tm.put(s6, " ") ;
// :
Set> en = tm.entrySet();
for (Entry e : en) {
//
Student s = e.getKey();
//
String value = e.getValue();
//
System.out.println(s.getName() + "---" + s.getAge() + "---" + value);
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.