Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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/1/list/4.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
Java 使用ListIterator删除重复项 /**返回L中多次出现的所有项目的列表。 *每个项目在结果中显示一次。 */ 静态列表副本(列表L){ ArrayList结果=新建ArrayList(); int n; n=0; for(ListIterator p1=L.ListIterator();p1.hasNext(); n+=1){ 字符串x=p1.next(); if(结果包含(x)){ 继续; } int m; m=L.尺寸()-1; for(ListIterator p2=L.ListIterator(L.size()); m>n;m-=1){ if(x.equals(p2.previous())){ 结果:添加(x); 打破 } } } 集合。排序(结果); 返回结果; }_Java_List_Duplicates_Listiterator - Fatal编程技术网

Java 使用ListIterator删除重复项 /**返回L中多次出现的所有项目的列表。 *每个项目在结果中显示一次。 */ 静态列表副本(列表L){ ArrayList结果=新建ArrayList(); int n; n=0; for(ListIterator p1=L.ListIterator();p1.hasNext(); n+=1){ 字符串x=p1.next(); if(结果包含(x)){ 继续; } int m; m=L.尺寸()-1; for(ListIterator p2=L.ListIterator(L.size()); m>n;m-=1){ if(x.equals(p2.previous())){ 结果:添加(x); 打破 } } } 集合。排序(结果); 返回结果; }

Java 使用ListIterator删除重复项 /**返回L中多次出现的所有项目的列表。 *每个项目在结果中显示一次。 */ 静态列表副本(列表L){ ArrayList结果=新建ArrayList(); int n; n=0; for(ListIterator p1=L.ListIterator();p1.hasNext(); n+=1){ 字符串x=p1.next(); if(结果包含(x)){ 继续; } int m; m=L.尺寸()-1; for(ListIterator p2=L.ListIterator(L.size()); m>n;m-=1){ if(x.equals(p2.previous())){ 结果:添加(x); 打破 } } } 集合。排序(结果); 返回结果; },java,list,duplicates,listiterator,Java,List,Duplicates,Listiterator,我试图修改这段代码,这样我就不会使用除了result、p1和p2之外的任何其他变量。这就是我现在所拥有的,但我对如何解决这个问题感到迷茫 /** Return a list of all items in L that appear more than once. * Each item appears once in the result. */ static List<String> duplicates(List<String> L) { ArrayLis

我试图修改这段代码,这样我就不会使用除了result、p1和p2之外的任何其他变量。这就是我现在所拥有的,但我对如何解决这个问题感到迷茫

/** Return a list of all items in L that appear more than once.
*  Each item appears once in the result.
*/
static List<String> duplicates(List<String> L) {
    ArrayList<String> result = new ArrayList<String>();
    int n;
    n = 0;
    for (ListIterator<String> p1 = L.listIterator(); p1.hasNext();
         n += 1) {
        String x = p1.next();
        if (result.contains(x)) {
            continue;
        }
        int m;
        m = L.size() - 1;
        for (ListIterator<String> p2 = L.listIterator(L.size());
             m > n; m -= 1) {
            if (x.equals(p2.previous())) {
                result.add(x);
                break;
            }
        }
    }
    Collections.sort(result);
    return result;
}
ListIterator p1=L.ListIterator();
while(p1.hasNext()){
字符串x=p1.next();
如果结果包含(x)){
继续;
}

既然您必须删除重复项,那么您使用
ArrayList
有什么原因吗

这可以在一条线上解决您的问题

    ListIterator<String> p1 = L.listIterator();
    while (p1.hasNext()) {
        String x = p1.next();
        if result.contains(x)) {
            continue;
        }

由于您必须删除重复项,您是否有理由使用
ArrayList

这可以在一条线上解决您的问题

    ListIterator<String> p1 = L.listIterator();
    while (p1.hasNext()) {
        String x = p1.next();
        if result.contains(x)) {
            continue;
        }

这也可以满足您的需要:

List noDuplicates=newarraylist(newtreeset(initialList));

这也可以满足您的需要:

List noDuplicates=newarraylist(newtreeset(initialList));

这非常复杂。您可以使用
for(String s:List)
构造来帮自己一个忙。您可能还需要使用集合来帮助查找重复项。下面是解决方案的外观

for(String s : p1)
{ // do some operation with the String you got here.  }
Set items=newhashset();
设置重复项=新树集();
for(字符串s:L){
如果(!items.add){
//在这里收集你的副本
重复。添加;
}
}

这非常复杂。您可以使用
for(String s:List)
构造来帮自己一个忙。您可能还需要使用集合来帮助查找重复项。下面是解决方案的外观

for(String s : p1)
{ // do some operation with the String you got here.  }
Set items=newhashset();
设置重复项=新树集();
for(字符串s:L){
如果(!items.add){
//在这里收集你的副本
重复。添加;
}
}

是否要删除重复项或返回包含重复值的列表?我要删除所有重复项。结果应该是文件中的单词(字符串)列表,减去重复项。是否要删除重复项或返回包含重复值的列表?我要删除所有重复项。结果应该是单词列表(字符串)在文件中,减去重复项。我想如果输出应该被排序,它将需要一个树集。如果输出应该被排序,我想它将需要一个树集。这似乎会起作用,但我仍然不知道如何做。@JisooHan你需要导入它。谷歌如何使用arrayList和导入列表这似乎会ld工作,但我仍然不知道如何做。@JisooHan你需要导入它。谷歌如何使用arrayList和导入列表