org.apache.commons.collections4.map.MultiValueMap Java Examples

The following examples show how to use org.apache.commons.collections4.map.MultiValueMap. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Http.java    From PacketProxy with Apache License 2.0 6 votes vote down vote up
public MultiValueMap<String, Parameter> getBodyParams(){
	String body;
	try {
		body = new String(getBody(), "UTF-8");
	} catch (UnsupportedEncodingException e) {
		e.printStackTrace();
		return null;
	}
	String[] pairs = body.split("&");
	MultiValueMap<String, Parameter> nameToParams = new MultiValueMap<>();
	for(String param : pairs){
		Parameter p = new Parameter(param);
		nameToParams.put(p.getName(), p);
	}
	return nameToParams;
}
 
Example #2
Source File: CollectionExamples.java    From spring-boot with Apache License 2.0 5 votes vote down vote up
/**
 * commons collectios 的实例代码
 */
private void mapExamples() {

    // 多值 map,一个 key 对于多个值
    MultiValueMap mvm = new MultiValueMap();
    mvm.put("1", "one");
    mvm.put("2", "two");
    mvm.put("1", "three");

    for (Iterator it = mvm.entrySet().iterator(); it.hasNext(); ) {
        Map.Entry entry = (Map.Entry) it.next();
        Object key = entry.getKey();
        Object value = entry.getValue();
        out.println("key=" + key + "; value=" + value);
    }

    // 判断是否包含指定的 key value
    out.println(mvm.containsValue("1", "one"));


    // MultiValueMap 的 value 值是 Collection 类型。实际上是  arrayList
    //测试类型
    out.println(mvm.get("1").getClass());
    ArrayList<String> list = (ArrayList<String>) mvm.getCollection("1");

    for (String s : list)
        out.println(s);

}
 
Example #3
Source File: BeanToMapConvertorTest.java    From onetwo with Apache License 2.0 5 votes vote down vote up
@Test
public void testWithDefaultIgnoreNull(){
	UserEntity user = new UserEntity();
	user.setId(11L);
	user.setUserName("testUserName");
	
	RoleEntity role = new RoleEntity();
	role.setId(20L);
	role.setName("testRoleName");

	RoleEntity role1 = new RoleEntity();
	role1.setId(21L);
	role1.setName("testRoleName1");
	
	user.setRoles(Arrays.asList(role, role1));
	
	MultiValueMap<String, Object> mmap = new MultiValueMap();
	BEAN_TO_MAP_CONVERTOR.toFlatMap(mmap, user);
	String paramString = ParamUtils.comparableKeyMapToParamString(mmap);
	System.out.println("paramString:"+paramString);
	Assert.assertEquals("age=0&height=0.0&id=11&roles[0].id=20&roles[0].name=testRoleName&roles[0].version=0&roles[1].id=21&roles[1].name=testRoleName1&roles[1].version=0&userName=testUserName", 
			paramString);
	
	user.setRole(role1);
	user.setRoles(null);
	Map<String, Object> map = beanToMapConvertor.toFlatMap(user);
	paramString = ParamUtils.comparableKeyMapToParamString(map);
	System.out.println("paramString:"+paramString);
	Assert.assertEquals("age=0&height=0.0&id=11&role.id=21&role.name=testRoleName1&role.version=0&userName=testUserName", 
			paramString);
	
}
 
Example #4
Source File: ApacheMultiValueMapTest.java    From java_in_examples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    String INPUT_TEXT = "Hello World! Hello All! Hi World!";
    // Parse text to words and index
    List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
    // Create Multimap
    MultiMap<String, Integer> multiMap = new MultiValueMap<String, Integer>();


    // Fill Multimap
    int i = 0;
    for(String word: words) {
        multiMap.put(word, i);
        i++;
    }

    // Print all words
    System.out.println(multiMap); // print {Hi=[4], Hello=[0, 2], World!=[1, 5], All!=[3]} - in random orders
    // Print all unique words
    System.out.println(multiMap.keySet());    // print [Hi, Hello, World!, All!] - in random orders

    // Print all indexes
    System.out.println("Hello = " + multiMap.get("Hello"));    // print [0, 2]
    System.out.println("World = " + multiMap.get("World!"));    // print [1, 5]
    System.out.println("All = " + multiMap.get("All!"));    // print [3]
    System.out.println("Hi = " + multiMap.get("Hi"));    // print [4]
    System.out.println("Empty = " + multiMap.get("Empty"));    // print null

    // Print count unique words
    System.out.println(multiMap.keySet().size());    //print 4
}
 
Example #5
Source File: ApacheMultiValueMapLinkedTest.java    From java_in_examples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    String INPUT_TEXT = "Hello World! Hello All! Hi World!";
    // Parse text to words and index
    List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
    // Create Multimap
    MultiMap<String, Integer> multiMap = MultiValueMap.multiValueMap(new LinkedHashMap<String, Set>(), LinkedHashSet.class);

    // Fill Multimap
    int i = 0;
    for(String word: words) {
        multiMap.put(word, i);
        i++;
    }

    // Print all words
    System.out.println(multiMap); // print {Hello=[0, 2], World!=[1, 5], All!=[3], Hi=[4]} - in predictable iteration order
    // Print all unique words
    System.out.println(multiMap.keySet());    // print [Hello, World!, All!, Hi] - in predictable iteration order

    // Print all indexes
    System.out.println("Hello = " + multiMap.get("Hello"));    // print [0, 2]
    System.out.println("World = " + multiMap.get("World!"));    // print [1, 5]
    System.out.println("All = " + multiMap.get("All!"));    // print [3]
    System.out.println("Hi = " + multiMap.get("Hi"));    // print [4]
    System.out.println("Empty = " + multiMap.get("Empty"));    // print null

    // Print count unique words
    System.out.println(multiMap.keySet().size());    //print 4
}
 
Example #6
Source File: ApacheMultiValueMapTreeTest.java    From java_in_examples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    String INPUT_TEXT = "Hello World! Hello All! Hi World!";
    // Parse text to words and index
    List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
    // Create Multimap
    MultiMap<String, Integer> multiMap =  MultiValueMap.multiValueMap(new TreeMap<String, Set>(), TreeSet.class);

    // Fill Multimap
    int i = 0;
    for(String word: words) {
        multiMap.put(word, i);
        i++;
    }

    // Print all words
    System.out.println(multiMap); // print {All!=[3], Hello=[0, 2], Hi=[4], World!=[1, 5]} -in natural order
    // Print all unique words
    System.out.println(multiMap.keySet());    // print [All!, Hello, Hi, World!] in natural order

    // Print all indexes
    System.out.println("Hello = " + multiMap.get("Hello"));    // print [0, 2]
    System.out.println("World = " + multiMap.get("World!"));    // print [1, 5]
    System.out.println("All = " + multiMap.get("All!"));    // print [3]
    System.out.println("Hi = " + multiMap.get("Hi"));    // print [4]
    System.out.println("Empty = " + multiMap.get("Empty"));    // print null

    // Print count unique words
    System.out.println(multiMap.keySet().size());    //print 4
}
 
Example #7
Source File: ApacheMultiValueMapTest.java    From java_in_examples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    String INPUT_TEXT = "Hello World! Hello All! Hi World!";
    // Разберем текст на слова и индексы
    List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
    // Создаем Multimap
    MultiMap<String, Integer> multiMap = new MultiValueMap<String, Integer>();


    // Заполним Multimap
    int i = 0;
    for(String word: words) {
        multiMap.put(word, i);
        i++;
    }

    // Выводим все вхождения слов в текст
    System.out.println(multiMap); // напечатает {Hi=[4], Hello=[0, 2], World!=[1, 5], All!=[3]} - в произвольном порядке
    // Выводим все уникальные слова
    System.out.println(multiMap.keySet());    // напечатает [Hi, Hello, World!, All!] - в произвольном порядке

    // Выводим все индексы вхождения слова в текст
    System.out.println("Hello = " + multiMap.get("Hello"));    // напечатает [0, 2]
    System.out.println("World = " + multiMap.get("World!"));    // напечатает [1, 5]
    System.out.println("All = " + multiMap.get("All!"));    // напечатает [3]
    System.out.println("Hi = " + multiMap.get("Hi"));    // напечатает [4]
    System.out.println("Empty = " + multiMap.get("Empty"));    // напечатает null

    // Выводим общее количество всех уникальных слов
    System.out.println(multiMap.keySet().size());    //напечатает 4
}
 
Example #8
Source File: ApacheMultiValueMapLinkedTest.java    From java_in_examples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    String INPUT_TEXT = "Hello World! Hello All! Hi World!";
    // Разберем текст на слова и индексы
    List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
    // Создаем Multimap
    MultiMap<String, Integer> multiMap = MultiValueMap.multiValueMap(new LinkedHashMap<String, Set>(), LinkedHashSet.class);

    // Заполним Multimap
    int i = 0;
    for(String word: words) {
        multiMap.put(word, i);
        i++;
    }

    // Выводим все вхождения слов в текст
    System.out.println(multiMap); // напечатает {Hello=[0, 2], World!=[1, 5], All!=[3], Hi=[4]} - в порядке добавления
    // Выводим все уникальные слова
    System.out.println(multiMap.keySet());    // напечатает [Hello, World!, All!, Hi] - в порядке добавления

    // Выводим все индексы вхождения слова в текст
    System.out.println("Hello = " + multiMap.get("Hello"));    // напечатает [0, 2]
    System.out.println("World = " + multiMap.get("World!"));    // напечатает [1, 5]
    System.out.println("All = " + multiMap.get("All!"));    // напечатает [3]
    System.out.println("Hi = " + multiMap.get("Hi"));    // напечатает [4]
    System.out.println("Empty = " + multiMap.get("Empty"));    // напечатает null

    // Выводим общее количество всех уникальных слов
    System.out.println(multiMap.keySet().size());    //напечатает 4
}
 
Example #9
Source File: ApacheMultiValueMapTreeTest.java    From java_in_examples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    String INPUT_TEXT = "Hello World! Hello All! Hi World!";
    // Разберем текст на слова и индексы
    List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
    // Создаем Multimap
    MultiMap<String, Integer> multiMap =  MultiValueMap.multiValueMap(new TreeMap<String, Set>(), TreeSet.class);

    // Заполним Multimap
    int i = 0;
    for(String word: words) {
        multiMap.put(word, i);
        i++;
    }

    // Выводим все вхождения слов в текст
    System.out.println(multiMap); // напечатает {All!=[3], Hello=[0, 2], Hi=[4], World!=[1, 5]} -в натуральном порядке
    // Выводим все уникальные слова
    System.out.println(multiMap.keySet());    // напечатает [All!, Hello, Hi, World!] в натуральном порядке

    // Выводим все индексы вхождения слова в текст
    System.out.println("Hello = " + multiMap.get("Hello"));    // напечатает [0, 2]
    System.out.println("World = " + multiMap.get("World!"));    // напечатает [1, 5]
    System.out.println("All = " + multiMap.get("All!"));    // напечатает [3]
    System.out.println("Hi = " + multiMap.get("Hi"));    // напечатает [4]
    System.out.println("Empty = " + multiMap.get("Empty"));    // напечатает null

    // Выводим общее количество всех уникальных слов
    System.out.println(multiMap.keySet().size());    //напечатает 4
}
 
Example #10
Source File: MapMultipleValuesUnitTest.java    From tutorials with MIT License 5 votes vote down vote up
@Test
public void givenMultiValueMap_whenPuttingTwice_thenReturningValues() {
    MultiMap<String, String> map = new MultiValueMap<>();
    map.put("key1", "value1");
    map.put("key1", "value2");
    assertThat((Collection<String>) map.get("key1"))
      .contains("value1", "value2");
}