Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试删除第1列中的重复项,但不删除行。行值应转换为原始值。使用java_Java_Excel - Fatal编程技术网

尝试删除第1列中的重复项,但不删除行。行值应转换为原始值。使用java

尝试删除第1列中的重复项,但不删除行。行值应转换为原始值。使用java,java,excel,Java,Excel,我能够用java读取excel文件&我试图通过保持行值不变并将行值转换为同一行中的唯一值来删除第1列中的重复项,如下所示 我的输入excel表包含如下内容 我的输出文件应该是这样的:删除重复项并使用java程序在一行中转换行值。 我使用multimap来获取键值,但是如何在存储在arraylist中的myMultimap.get(“key”)中获取键值,而不提及键值 ArrayList l=new ArrayList(); l.add(row.getCell(0).toStr

我能够用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);
ArrayList l=新的ArrayList();
l、 添加(row.getCell(0.toString());
ArrayList l1=新的ArrayList();
l1.add(row.getCell(1.toString());
Multimap myMultimap=ArrayListMultimap.create();
myMultimap.put(“+l,”+l1);
集合l2=myMultimap.get(l);
系统输出打印(l2);

提前感谢

您可以使用外部链接实现(或使用)哈希映射的形式

我喜欢实现我自己的,所以这里有一个模型

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])
}

您可以使用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]
Multimap myMultimap=ArrayListMultimap.create();
//添加一些键/值
myMultimap.put(“水果”、“班纳纳”);
myMultimap.put(“水果”、“苹果”);
myMultimap.put(“水果”、“梨”);
myMultimap.put(“蔬菜”、“胡萝卜”);
//获取价值
收集水果=myMultimap.get(“水果”);
System.out.println(水果);//[班纳纳,苹果,梨]
另一方面,您也可以使用LambdaJgroups来准确地生成该值

Group<Person> groupPeopleByAge = group(persons, by(on(Person.class).getAge()));
groupPeopleByAge=Group(persons,by)(on(Person.class.getAge());

嗯。就好像你什么都没做,只是希望我们为你工作。我通常为我的服务收费。我尝试过,但我无法获得我应该使用的逻辑。我尝试从存储在arraylist中的不同键获取值。你能建议我如何通过逐行删除重复项及其相应的键值来获取所有键。。。我使用了这个设置keys=myMultimap.keySet();对于(String key:keys){System.out.println(key);System.out.print(“Values=“+myMultimap.get(key)+”n”);但所有具有相应值的键都将
Group<Person> groupPeopleByAge = group(persons, by(on(Person.class).getAge()));