我能够读取java中的excel文件,并且通过将行值保持原样并将行值转换为同一行中的唯一值,以尝试删除第1列中的重复项,如下所示。
我的输入Excel工作表包含这样
我的输出文件应该看起来像这样,方法是删除重复项,并使用Java程序将行值放在一行中。
我使用了multimap来获取键值,但是如何获取用一行分隔的键值,而没有提到存储在arraylist中的myMultimap.get(“ Key”)中的键。
ArrayList l=new ArrayList();
l.add(row.getCell(0).toString());
ArrayList l1=new ArrayList();
l1.add(row.getCell(1).toString());
Multimap<String, String> myMultimap = ArrayListMultimap.create();
myMultimap.put( ""+l, ""+l1);
Collection<String> l2 = myMultimap.get(l);
System.out.print(l2);
提前致谢
最佳答案
您可以使用Guava MultiMap实现所需的功能。
Multimap<String, String> myMultimap = ArrayListMultimap.create();
// Adding some key/value
myMultimap.put("Fruits", "Bannana");
myMultimap.put("Fruits", "Apple");
myMultimap.put("Fruits", "Pear");
myMultimap.put("Vegetables", "Carrot");
// Getting values
Collection<string> fruits = myMultimap.get("Fruits");
System.out.println(fruits); // [Bannana, Apple, Pear]
另一方面,您也可以使用LambdaJ组来生成该组。
Group<Person> groupPeopleByAge = group(persons, by(on(Person.class).getAge()));