目标:数组元素去重
ArrayList<File> lists=new ArrayList<>();中lists存放的元素如下:
File{file_id=null, file_name='文件1', file='FILE1'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件3', file='FILE3'}
File{file_id=null, file_name='文件4', file='FILE4'}
File{file_id=null, file_name='文件4', file='FILE4'}
File{file_id=null, file_name='文件5', file='FILE5'}
File{file_id=null, file_name='文件5', file='FILE5'}
其中,File实体类(自定义):
public class File {
private Integer file_id;
private String file_name;
private String file;
.......
}
测试代码:
public class Test1 {
@Test
public void test1(){
ArrayList<File> lists=new ArrayList<>();
ArrayList<File> aliveList=new ArrayList<>();
File file1=new File();
file1.setFile("FILE1");
file1.setFile_name("文件1");
File file2=new File();
file2.setFile("FILE2");
file2.setFile_name("文件2");
File file3=new File();
file3.setFile("FILE3");
file3.setFile_name("文件3");
File file4=new File();
file4.setFile("FILE4");
file4.setFile_name("文件4");
File file5=new File();
file5.setFile("FILE5");
file5.setFile_name("文件5");
lists.add(file1);
lists.add(file2);
lists.add(file2);
lists.add(file2);
lists.add(file3);
lists.add(file4);
lists.add(file4);
lists.add(file5);
lists.add(file5);
for(int i=0;i<lists.size();i++){
System.out.println(lists.get(i));
}
System.out.println("-------去重----------");
for(File s :lists){
if(!aliveList.contains(s)){
aliveList.add(s);
}
}
for(int i=0;i<aliveList.size();i++){
System.out.println(aliveList.get(i));
}
}
}
运行结果:
File{file_id=null, file_name='文件1', file='FILE1'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件3', file='FILE3'}
File{file_id=null, file_name='文件4', file='FILE4'}
File{file_id=null, file_name='文件4', file='FILE4'}
File{file_id=null, file_name='文件5', file='FILE5'}
File{file_id=null, file_name='文件5', file='FILE5'}
-------去重----------
File{file_id=null, file_name='文件1', file='FILE1'}
File{file_id=null, file_name='文件2', file='FILE2'}
File{file_id=null, file_name='文件3', file='FILE3'}
File{file_id=null, file_name='文件4', file='FILE4'}
File{file_id=null, file_name='文件5', file='FILE5'}