您的位置:首页 > 编程语言 > Go语言

Google Guava--ArrayListMultimap方法使用

2017-04-05 20:03 387 查看

0. 概要

1. Multimap常用方法

1.1 create方法

// 用于创建一个一键多值的multimap集合
Multimap<String, Student> multimap = ArrayListMultimap.create();


1.2 put方法

// 往multimap集合中put元素
multimap.put(Grade_NAME_1, student);


1.3 size方法

// multimap集合的大小
multimap.size();


1.4 get方法

//
multimap.get(Grade_NAME_1);


1.5 keys方法和keySet方法

// keys获取multimap集合中的所有键,可以重复
// keySet获取multimap集合中的不重复键
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的创建
// 创建一个ArrayListMultimap
Multimap<String, Student> multimap = ArrayListMultimap.create();

// Multimap的put方法
// 往Multimap中添加键值对
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();

// 输出Multimap
System.out.println("==========输出Multimap==========");
System.out.println(multimap);
System.out.print("\n");

// Multimap的size方法
System.out.println("==========Multimap的size方法==========");
System.out.println(multimap.size());
System.out.print("\n");

// Multimap的get方法
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");

// Multimap的keys方法和keySet方法
System.out.println("==========Multimap的keys方法和keySet方法==========");
System.out.println(multimap.keys());
System.out.println(multimap.keySet());
}
}


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]
[一年级, 二年级]


3. 附件和文献

3.1 附件

源码:ArrayListMultimapTest

3.2 文献

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: