十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
java中找出数组中重复的数并去除的代码如下:
目前创新互联公司已为近千家的企业提供了网站建设、域名、雅安服务器托管、网站运营、企业网站设计、复兴网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
public static void testA() {
String [] str = {"Java", "C++", "Php", "C#", "Python", "C++", "Java"};
for (String elementA:str ) {
System.out.print(elementA + " ");
}
ListString list = new ArrayListString();
for (int i=0; istr.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.Arrays;
import java.util.Set;
import 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));
SetInteger set = new TreeSetInteger();//新建一个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));
}
}
运行结果如下:
属性是????
先给你一个看看是不是你需要的好了,
// 利用 Set 的特性,将所有项目放入 Set
//中即可移除重复的项目
SetString stringSet = new HashSetString();
for (String element : duplicateArray) {
stringSet.add(element);
}
// Set.size() 为不重复项目的个数
String nonDuplicateArray[] = new String[stringSet.size()];
// 将 Set 中的项目取出放到 nonDuplicateArray 中
Object[] tempArray = stringSet.toArray();
for (int i = 0; i tempArray.length; i++) {
nonDuplicateArray[i] = (String) tempArray[i];
}
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
import java.util.List;
import java.util.Scanner;
public class DeleteRepeated {
private String str;
private TreeSetString noReapted;//带有String类型的TreeSet泛型
public DeleteRepeated() {
Scanner in = new Scanner(System.in);
System.out.println ("输入一个字符串:");
str = in.nextLine();
noReapted = new TreeSet();
}
//清楚重复的数据
public void removeRepeated(){
for (int i = 0; i str.length(); i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型 所以先加一个""空格 , 转换成String型
//TreeSet泛型能保证重复的不加入 , 而且有序
}
str = "";
for(String index:noReapted){
str += index;
}
//输出
System.out.println (str);
}
public static void main(String[] args) {
DeleteRepeated dr = new DeleteRepeated();
dr.removeRepeated();
}
}
运行截图:
希望能帮助你哈
无非就是检查是否已经有数据的问题,用List做可能比较简单点
public class SigleList{
ListInteger nums;
public SingleList(){
nums = new ArrayListInteger();
}
public void add(Integer num){
if(!checkNumExist){
nums.add(num);
}
}
public boolean checkNumExist(Integer){
return nums.contains(Integer);
}
}
这个SingleList就简单实现了去重增加,可以用它来读数据
public class Test{
public static void main(String[] args){
SingleList nums = new SingleList();
// 产生100个数据
for(int i = 0; i++; i 100){
// 产生随机数
Integer num = new Random().nextInt(100000);
nums.add(num);
}
foreach(Integer num : nums){
System.out.println(num);
}
}
}