Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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中从Arraylist中删除重复元素 {“744101”、“744101”、“744101”、“744102”、“744102”、“744102”、“744102”、“744102”、“744103”、“744103”} List list2=新建ArrayList()// 数组。排序(iArr); 对于(int k=0;k_Java_Android - Fatal编程技术网

如何在java中从Arraylist中删除重复元素 {“744101”、“744101”、“744101”、“744102”、“744102”、“744102”、“744102”、“744102”、“744103”、“744103”} List list2=新建ArrayList()// 数组。排序(iArr); 对于(int k=0;k

如何在java中从Arraylist中删除重复元素 {“744101”、“744101”、“744101”、“744102”、“744102”、“744102”、“744102”、“744102”、“744103”、“744103”} List list2=新建ArrayList()// 数组。排序(iArr); 对于(int k=0;k,java,android,Java,Android,试试这个: { "744101", "744101","744101", "744102",744102","744102","744102","744102","744103","744103"} List<String> list2=new new ArrayList<String>(); // Arrays.sort(iArr); for(int k=0;k<i

试试这个:

    { "744101", "744101","744101", "744102",744102","744102","744102","744102","744103","744103"}
      List<String> list2=new new ArrayList<String>();  //
           Arrays.sort(iArr);
                            for(int k=0;k<iArr.length;k++) {
                                list2.add(String.valueOf(iArr[k]));
                            }

   List li2 = new Array List(new HashSet(list2)); 
List List=new ArrayList();
Set=newhashset();
hash.addAll(列表);
list.clear();
list.addAll(散列);

如果需要,可以对列表进行排序。

树集对元素进行排序并删除重复项

   List<String> list = new ArrayList<>();
    Set<String> set = new HashSet<>();
    hash.addAll(list);
    list.clear();
    list.addAll(hash);
String[]数组={“744101”、“744101”、“744101”、“744102”、“744102”、“744102”、“744102”、“744102”、“744102”、“744103”、“744103”};
List List=newarraylist(newtreeset(Arrays.asList(array));
list.forEach((元素)->{
系统输出打印项次(元素);
});
如前所述,由于正在使用哈希集实现,您当前的实现会“洗牌”列表,因为此哈希集实现不保留顺序。请尝试改用LinkedHashSet。如javadoc中所述,它避免了与TreeSet相关的开销。 代码应该是这样的

    String[] array = { "744101", "744101","744101", "744102","744102","744102","744102","744102","744103","744103"};
    List<String> list = new ArrayList<>(new TreeSet<>(Arrays.asList(array)));

    list.forEach((element)->{
        System.out.println(element);
    });
String[]arrayToProcess={“744101”、“744101”、“744101”、“744102”、“744102”、“744102”、“744102”、“744102”、“744103”、“744103”};
//创建数组并对列表进行排序
List sortedList=Arrays.asList(arrayToProcess);
收集.分类(分类列表);
//删除重复的列表,同时保留已排序列表的顺序
Set uniqueNumbers=new LinkedHashSet();
UniqueNumber.addAll(分类列表);
请注意,正在使用的集合的实现是LinkedHashSet。此外,此代码段制作了数组的两个副本,因此如果数组大小很大,我不建议使用它


我建议您在java中查找。因为它们各有优缺点:

不清楚您是要删除重复项,还是同时删除重复项并对输出进行排序。您当前的代码对输入数组进行排序,但将元素添加到哈希集中会破坏顺序(同时删除重复项).我的当前代码已排序,但出现重复元素我不希望重复
 String[] arrayToProcess = { "744101", "744101","744101", "744102","744102","744102","744102","744102","744103","744103"};

 //creates array and sorts the list
 List<String> sortedList = Arrays.asList(arrayToProcess);
 Collections.sort(sortedList);

 //removes duplicates the list, while retaining order of sorted list
 Set<String> uniqueNumbers = new LinkedHashSet<String>();
 uniqueNumbers.addAll(sortedList);