java中找出数组中重复的数并去除的代码如下:
public static void testA() {String [] str = {"Java", "C++", "Php", "C#", "Python", "C++", "Java"}
for (String elementA:str ) {
System.out.print(elementA + " ")
}
List<String> list = new ArrayList<String>()
for (int i=0 i<str.length i++) {
if(!list.contains(str[i])) {
list.add(str[i])
}
}
System.out.println()
String[] newStr = list.toArray(new String[1]) //返回一个包含所有对象的指定类型的数组
for (String elementB:newStr ) {
System.out.print(elementB + " ")
}
System.out.println()
}
所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。
举例:
int a[10]说明整型数组a,有10个元素。
float b[10],c[20]说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]说明字符数组ch,有20个元素。
数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。
java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:
import java.util.Arraysimport java.util.Setimport java.util.TreeSet public class ceshi { public static void main(String[] args) { int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 }//新建一个int类型数组 System.out.println(Arrays.toString(testArr)) Set<Integer> set = new TreeSet<Integer>()//新建一个set集合 for (int i : testArr) { set.add(i) } Integer[] arr2 = set.toArray(new Integer[0]) // 数组的包装类型不能转 只能自己转;吧Integer转为为int数组; int[] result = new int[arr2.length] for (int i = 0 i < result.length i++) { result[i] = arr2[i] } System.out.println(Arrays.toString(arr2)) }}
运行结果如下:
通过HashSet剔除// 删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用
public static void removeDuplicate1(List list) {
HashSet h = new HashSet(list)
list.clear()
list.addAll(h)
System.out.println(list)
}