十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
lz 你好
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比八公山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式八公山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖八公山地区。费用合理售后完善,十余年实体公司更值得信赖。
这个就是一个比较简单的算法题 , 你可以自己写
但是用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();
}
}
JAVA里面可以利用Set Map的唯一性来排除重复数值,具体代码如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
int[] ary = {2,5,4,7,8,9,6,4};
//通过Set集合的唯一性来做到去除重复
SetInteger set = new TreeSetInteger();
//利用map的KEY的唯一性来去除重复
MapInteger, Object map = new HashMapInteger, Object();
//利用集合特性去除重复值
for(int i = 0; i ary.length; i++){
set.add(new Integer(i));
map.put(new Integer(i), null);
}
System.out.println("利用Set去除结果:");
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Integer integer = (Integer) iterator.next();
System.out.print(integer + " ");
}
System.out.println("\n利用Map去除结果:");
for(Iterator ite = map.keySet().iterator(); ite.hasNext();){
System.out.print(ite.next() + " ");
}
}
}
---------------程序结果
利用Set去除结果:
0 1 2 3 4 5 6 7
利用Map去除结果:
0 1 2 3 4 5 6 7
对最佳回答进行修改,假设原始Json数组是这样的
原始JSONArry:[{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"},{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"}]
工具类如下:
/**
* 根据Key去重复
* @param array
*/
public static JSONArray delRepeatIndexid(JSONArray array) {
JSONArray arrayTemp = new JSONArray();
int num = 0;
for(int i = 0;i array.size();i++){
if(num==0){
arrayTemp.add(array.get(i));
}else{
int numJ = 0;
for(int j = 0;j arrayTemp.size(); j++){
JSONObject newJsonObjectI = (JSONObject)array.get(i);
JSONObject newJsonObjectJ = (JSONObject)arrayTemp.get(j);
String index_idI = newJsonObjectI.get("Key").toString();
String valueI = newJsonObjectI.get("Value").toString();
String index_idJ = newJsonObjectJ.get("Key").toString();
if(index_idI.equals(index_idJ)){
arrayTemp.remove(j);
JSONObject newObject = new JSONObject();
newObject.put("Key", index_idI);
newObject.put("Value", valueI);
arrayTemp.add(newObject);
break;
}
numJ++;
}
if(numJ-1 == arrayTemp.size()-1){
arrayTemp.add(array.get(i));
}
}
num++;
}
return arrayTemp;
}
处理结果
数据处理后JSONArry:[{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"}]
完毕!!!!
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个元素。
数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。
属性是????
先给你一个看看是不是你需要的好了,
// 利用 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];
}
这4个构造函数分别是对1个,2个,3个,以及4个参数的处理,最好别删,如果非要删掉一些代码的话,建议删掉前面3个构造函数,保留最后的有4个参数那个,当然最后那个也要修改
代码:
person(String name,int age,int weight,String address){
this.name = name;
this.age = age;
this.weight = weight;
this.address = address;
}
(PS:纯手打,望采纳)