尝试删除第1列中的重复项而不删除行。 并且行值应该被转换为原始值。 使用java
我能够阅读在Java中的Excel文件&我试图删除第1列中的重复,保持行值,因为它是在同一行中变换行值为一个唯一的值,如下所示。
我的inputexcel表包含这样的
我的输出文件应该看起来像这样删除重复项,并使用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);
提前致谢
您可以使用番石榴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()));
你可以通过外部链接来获得(或者使用)一个hashmap的forms。
我喜欢实现自己的,所以这里是一个模拟。
List<Integer> keys; List<String>[] map = new List<>[900]; //Use some number relative to the number of keys you have for(row : rows){ keys.add(row.col[0]); map[row.col[0]].add(row.col[1]) }
然后写出每一行
for(Integer i : keys){ row.col[0] = i; row.col[1] = map[i] }