删除对象数组数据的Java副本 [英] remove duplicates from object array data java

查看:131
本文介绍了删除对象数组数据的Java副本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我想知道如何删除对象重复。

hi i want to know how to remove duplicates in object.

例如:

cat c[] = new cat[10];

c[1].data = "ji";
c[2].data = "pi";
c[3].data = "ji";
c[4].data = "lp";

c[5].data = "ji";
c[6].data = "pi";
c[7].data = "jis";
c[8].data = "lp";

c[9].data = "js";
c[10].data = "psi"; 

我想从对象数组删除重复值。

i would like to remove the duplicates value from object array.

感谢,并提前

推荐答案

我假设你想创建另一个阵列是重复的自由。 (因为你不能改变一个数组的大小)

I assume you want to create another array which is duplicate free. (as you cannot change the size of an array)

您可以实现哈希code和平等相待,使用HashSet的,但是如果没有这些,你可以创建一个比较。

You could implement hashCode and equals and use a HashSet, however without these you can create a Comparator.

但最简单的方法可以使用​​猫级和猫数组

However the simplest approach may be using the "Cat" class and "cats" array

Cat[] cats = { ... };
Set<String> datas = new HashSet<String>();
List<Cat> catList = new ArrayList<Cat>();
for(Cat cat: cats) if(datas.add(cat.data)) catList.add(cat);
Cat[] unqiueCats = catList.toArray(new Cat[catList.size()]);

这篇关于删除对象数组数据的Java副本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆