0. 概要
1. Multimap常用方法
1.1 create方法
Multimap<String, Student> multimap = ArrayListMultimap.create();
1.2 put方法
multimap.put(Grade_NAME_1, student);
1.3 size方法
multimap.size();
1.4 get方法
multimap.get(Grade_NAME_1);
1.5 keys方法和keySet方法
multimap.keys();
multimap.keySet();
2. Multimap之Demo
2.1 Demo源码
/**
* Created by dongyizhou on 2017/4/2.
*/
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
class ArrayListMultimapTest {
public static final String Grade_NAME_1 = "一年级";
public static final String Grade_NAME_2 = "二年级";
class Student {
String id;
String name;
}
Multimap<String, Student> multimap = ArrayListMultimap.create();
public Multimap<String, Student> createStudent() {
for (int i = 0; i < 5; i++) {
Student student = new Student();
student.id = "1000" + i;
student.name = "Tom" + i;
multimap.put(Grade_NAME_1, student);
}
for (int i = 0; i < 5; i++) {
Student student = new Student();
student.id = "2000" + i;
student.name = "Lily" + i;
multimap.put(Grade_NAME_2, student);
}
return multimap;
}
}
public class Main {
public static void main(String[] args) {
ArrayListMultimapTest multimapTest = new ArrayListMultimapTest();
Multimap<String, ArrayListMultimapTest.Student> multimap = multimapTest.createStudent();
System.out.println("==========输出Multimap==========");
System.out.println(multimap);
System.out.print("\n");
System.out.println("==========Multimap的size方法==========");
System.out.println(multimap.size());
System.out.print("\n");
System.out.println("==========Multimap的get方法==========");
for(ArrayListMultimapTest.Student s :multimap.get(ArrayListMultimapTest.Grade_NAME_1)){
System.out.println(ArrayListMultimapTest.Grade_NAME_1 + " " + s.id + " " + s.name);
}
for(ArrayListMultimapTest.Student s :multimap.get(ArrayListMultimapTest.Grade_NAME_2)){
System.out.println(ArrayListMultimapTest.Grade_NAME_2 + " " + s.id + " " + s.name);
}
System.out.print("\n");
System.out.println("==========Multimap的keys方法和keySet方法==========");
System.out.println(multimap.keys());
System.out.println(multimap.keySet());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
2.2 输出结果
==========输出Multimap==========
{一年级=[ArrayListMultimapTest$Student@54bedef2, ArrayListMultimapTest$Student@5caf905d, ArrayListMultimapTest$Student@27716f4, ArrayListMultimapTest$Student@8efb846, ArrayListMultimapTest$Student@2a84aee7],
二年级=[ArrayListMultimapTest$Student@a09ee92, ArrayListMultimapTest$Student@30f39991, ArrayListMultimapTest$Student@452b3a41, ArrayListMultimapTest$Student@4a574795, ArrayListMultimapTest$Student@f6f4d33]}
==========Multimap的size方法==========
10
==========Multimap的get方法==========
一年级 10000 Tom0
一年级 10001 Tom1
一年级 10002 Tom2
一年级 10003 Tom3
一年级 10004 Tom4
二年级 20000 Lily0
二年级 20001 Lily1
二年级 20002 Lily2
二年级 20003 Lily3
二年级 20004 Lily4
==========Multimap的keys方法和keySet方法==========
[一年级 x 5, 二年级 x 5]
[一年级, 二年级]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
3. 附件和文献
3.1 附件
源码:ArrayListMultimapTest
3.2 文献