lz ?你好
成都創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)十多年來致力于為客戶提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了千余家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
這個(gè)就是一個(gè)比較簡單的算法題 , 你可以自己寫
但是用Java語言就不需要了 , Java自帶泛型相關(guān)的類 , 很有用
其中TreeSet集合能自動識別添加的是否重復(fù) , 重復(fù)的將不會添加 , 很方便
以下是實(shí)現(xiàn)代碼:
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?("輸入一個(gè)字符串:");
str?=?in.nextLine();
noReapted?=?new?TreeSet();
}
//清楚重復(fù)的數(shù)據(jù)
public?void?removeRepeated(){
for?(int?i?=?0;?i??str.length();?i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型??所以先加一個(gè)""空格?,?轉(zhuǎn)換成String型
//TreeSet泛型能保證重復(fù)的不加入?,?而且有序
}
str?=?"";
for(String?index:noReapted){
str?+=?index;
}
//輸出
System.out.println?(str);
}
public?static?void?main(String[]?args)?{
DeleteRepeated?dr?=?new?DeleteRepeated();
dr.removeRepeated();
}
}
運(yùn)行截圖:
希望能幫助你哈
如果代碼能力不是很好的話可以借助一些軟件去抓取新聞的字段
把數(shù)據(jù)抓取下來以后可以選擇存入數(shù)據(jù)庫當(dāng)中
需要去重的話,在Java的集合框架中就有HashSet和HashMap可以對數(shù)據(jù)去重
使用帶Hash的集合時(shí)一定要注意,如果是存放自定義的對象一定要重寫equals方法和HashCode方法
ListString?list?=?new?ArrayList();
/*list.add("abc");
list.add("abc");
list.add("def");
list.add("bcd");*/
SetString?set?=?new?LinkedHashSet();//這種方式保證去重后的元素相對位置不變
//SetString?set?=?new?HashSet();//這種方式去重后元素的位置很有可能變化了
set.addAll(list);
list.clear();
list.addAll(set);
for(String?s?:?list){
System.out.println(s);
}
整個(gè)思路就是利用set中的元素是不重復(fù)的,來達(dá)到去重的目的
無非就是檢查是否已經(jīng)有數(shù)據(jù)的問題,用List做可能比較簡單點(diǎn)
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);
}
}
這個(gè)SingleList就簡單實(shí)現(xiàn)了去重增加,可以用它來讀數(shù)據(jù)
public?class?Test{
public?static?void?main(String[]?args){
SingleList?nums?=?new?SingleList();
//?產(chǎn)生100個(gè)數(shù)據(jù)
for(int?i?=?0;?i++;?i??100){
//?產(chǎn)生隨機(jī)數(shù)
Integer?num?=?new?Random().nextInt(100000);
nums.add(num);
}
foreach(Integer?num?:?nums){
System.out.println(num);
}
}
}
屬性是????
先給你一個(gè)看看是不是你需要的好了,
//?利用?Set?的特性,將所有項(xiàng)目放入?Set?
//中即可移除重復(fù)的項(xiàng)目
SetString?stringSet?=?new?HashSetString();
for?(String?element?:?duplicateArray)?{
stringSet.add(element);
}
//?Set.size()?為不重復(fù)項(xiàng)目的個(gè)數(shù)
String?nonDuplicateArray[]?=?new?String[stringSet.size()];
//?將?Set?中的項(xiàng)目取出放到?nonDuplicateArray?中
Object[]?tempArray?=?stringSet.toArray();
for?(int?i?=?0;?i??tempArray.length;?i++)?{
nonDuplicateArray[i]?=?(String)?tempArray[i];
}