本文目錄一覽:
java set的去重問題
/**
您好,提問者:
怎麼可以用Set呢,Map是無重複的,使用Map方便,下面是例子,您看下。
**/
import java.util.HashMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) {
String[] str1 = { “A”, “B” };
String[] str2 = { “A”, “B” };
String[] str3 = { “A”, “C” };
MapString, String[] map = new HashMapString, String[]();
map = setMap(“str1”,str1,map);
map = setMap(“str2”,str2,map);
map = setMap(“str3”,str3,map);
}
public static MapString, String[] setMap(String name, String[] arr,MapString, String[] map){
if(map.size() == 0){
map.put(name, arr);
}else{
for(int i = 0; i arr.length; i++){
for(String[] str : map.values()){
if(str[i] != arr[i]){
map.put(name, arr);
}
}
}
}
return map;
}
}
JAVA 去掉重複的數據
無非就是檢查是否已經有數據的問題,用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);
}
}
}
java list如何去重
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);
}
整個思路就是利用set中的元素是不重複的,來達到去重的目的
Java中如何去除List中的重複的值
屬性是????
先給你一個看看是不是你需要的好了,
// 利用 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];
}
java如何去掉字元串中重複的字元
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();
}
}
運行截圖:
希望能幫助你哈
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237143.html