在Java中删除ArrayList中的特定重复项
如何在Java中删除ArrayList中的重复项(特定元素除外)? 例如,如果我有一个带有在Java中删除ArrayList中的特定重复项,java,arraylist,set,duplicates,hashset,Java,Arraylist,Set,Duplicates,Hashset,如何在Java中删除ArrayList中的重复项(特定元素除外)? 例如,如果我有一个带有 "a", "b", "c", "d", "d", "a", "b", "b", "d", "c" 我只想删除“a”、“b”和“c”的重复项,还需要保持元素的顺序。无法删除重复的“d” 我如何才能做到这一点?您必须维护两个列表: 一个是实际列表,另一个是removeDuplicated列表,它告诉您的程序哪些条目保持唯一 此外,您可以使用LinkedList或ArrayList按顺序进行维护。我将创建另一
"a", "b", "c", "d", "d", "a", "b", "b", "d", "c"
我只想删除“a”
、“b”
和“c”
的重复项,还需要保持元素的顺序。无法删除重复的“d”
我如何才能做到这一点?您必须维护两个列表: 一个是实际列表,另一个是removeDuplicated列表,它告诉您的程序哪些条目保持唯一
此外,您可以使用LinkedList或ArrayList按顺序进行维护。我将创建另一个没有重复项的数组 创建另一个数组(list2)并从源数组(list1)添加元素(如果list2不包含除“d”之外的相同元素)
arraylistlist1;
ArrayList列表2;
对于(inti=0;i如果这是一个家庭作业,我不想写代码
执行以下操作
定义一个不允许的项目('a'、'b'、'c')
的HashSet
,以及一个名为消除集的空HashSet
遍历ArrayList
根据消除项测试项目HashSet
,如果项目在消除项集中,则从ArrayList
中删除该项目
根据不允许的HashSet
测试项目,如果项目在不允许的集合中,则将项目添加到消除HashSet
时间复杂度是O(n),其中n是ArrayList的长度
我将创建2个ArrayList。一个包含值,一个包含要删除的值。只需使用不再需要的值列表进行删除即可
public class SOTest
{
public static void main(String[] args)
{
String [] strAr = {"a", "b", "c", "d", "d", "a", "b", "b", "d", "c"};
String [] removeAr = {"a", "b"};
ArrayList<String> arList = new ArrayList<String>(Arrays.asList(strAr));
ArrayList<String> removeList = new ArrayList<String>(Arrays.asList(removeAr));
arList.removeAll(removeList);
for(String s : arList)
System.out.println(s);
}
}
公共类SOTest
{
公共静态void main(字符串[]args)
{
字符串[]strAr={“a”、“b”、“c”、“d”、“d”、“a”、“b”、“b”、“d”、“c”};
字符串[]removeAr={“a”,“b”};
ArrayList arList=新的ArrayList(Arrays.asList(strAr));
ArrayList removeList=新的ArrayList(Arrays.asList(removeAr));
arList.removeAll(removeList);
for(字符串s:arList)
系统输出打印项次;
}
}
你能举个例子吗?
public class SOTest
{
public static void main(String[] args)
{
String [] strAr = {"a", "b", "c", "d", "d", "a", "b", "b", "d", "c"};
String [] removeAr = {"a", "b"};
ArrayList<String> arList = new ArrayList<String>(Arrays.asList(strAr));
ArrayList<String> removeList = new ArrayList<String>(Arrays.asList(removeAr));
arList.removeAll(removeList);
for(String s : arList)
System.out.println(s);
}
}