1. java二維double數組去重問題
轉換成string放入map中,使用map的特性去重。
2. 在java中,給出一個數組,裡面有重復的數字,要求將重復的數字去掉然後給新的數組進行排序
數組是沒有去重的函數的,你可以用set或者map來去重 ,如果你想要代碼,可以追問
3. java中怎麼將字元串數組中的重復的元素去掉,但是還是保留一個。
import java.util.*;
class BaiDu
{
public static void main(String[] args)
{
TreeSet<String> tr = new TreeSet<String>();
String[] s ={"11","22","22","33","33","33"};
System.out.print("====處理前=======");
for(int i=0;i<s.length;i++){
System.out.print(s[i]+" ");
tr.add(s[i]);
}
String[] s2= new String[tr.size()];
System.out.println("=====處理後======");
for(int i=0;i<s2.length;i++){
s2[i]=tr.pollFirst();//從TreeSet中取出元素重新賦給數組
System.out.print(s2[i]+" ");
}
}
}
4. java中對字元串數組去重並忽略大小寫
你是要寫一個實現了這樣功能的程序嗎?
首先你要有思想去解決這個問題,你知道該怎麼做,你才能去利用java這個語言工具去實現,其實編程最核心的就是思想(演算法),當然還有數據結構,這兩個東西才是程序設計的核心。
這個題很簡單嘛,首先在內存裡面開辟一個集合空間s,你用來存放你想要的結果,然後依次去遍歷你這個數組,每次取一個(統一轉換成小寫),然後看看你的s裡面是否包含了這個元素,沒有包含就放進去,包含了就跳過這個,這樣不是當你遍歷完你的數組的時候,你要的結果就有了嗎?
以上是我的一個思想,當然也是最常規的解法。現在就是要你用語言去實現了。看看,不會寫我可以幫你,有什麼問題就繼續追問,沒問題請記得採納,謝謝!
5. JAVA數組去重問題
提供個思路,具體演算法還是自己寫比較好。
你可以用一個循環把vector里的元素取出來放進一個map裡面,之所以用map就是因為map是不允許有重復元素的。
這樣,map的key就是你的vector的元素,後面的value就是這個元素出現的次數。
當然,你在向map添加的時候要判斷一下是否有這個元素了。
最後頻率,計算一下就好了。
6. JAVA關於順序數組數據去重,效率最高的方式是什麼
JAVA關於順序數組數據去重,效率最高的方式是使用LinkedHashSet也是Set,set的特徵就是對重復的元素只保存一個,LinkedHashSet只是在內部使用鏈表維護元素插入的順序
packagecom.question;
importjava.io.BufferedReader;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.util.LinkedHashSet;
/**
*deletetheconflictString.
*
*@authorXxx
*/
publicclassQ16{
/**
*generatethetext.
*
*/
publicvoidinit(){
//writefile
OutputStreamoutputStream=null;
try{
outputStream=newFileOutputStream("C:/init.txt");
for(inti=0;i<100000;i++){
for(intj=0;j<2;j++){
outputStream.write(("Hello"+i).getBytes());
outputStream.write(" ".getBytes());
}
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(outputStream!=null){
outputStream=null;
}
}
}
/**
*filterthestring.
*
*@return
*/
publicLinkedHashSet<String>filter(){
//createaLinkedHashSetproject.
LinkedHashSet<String>linkedHashSet=newLinkedHashSet<String>();
try{
//readthefile.
InputStreaminputStream=newFileInputStream("C:/init.txt");
=newInputStreamReader(inputStream);
BufferedReaderbufferedReader=newBufferedReader(inputStreamReader);
Stringline=bufferedReader.readLine();
//
while(line!=null){
linkedHashSet.add(line);
line=bufferedReader.readLine();
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
//returntheresult.
returnlinkedHashSet;
}
@Deprecated
publicstaticvoidmain(String[]args){
Q16q16=newQ16();
//q16.init();
LinkedHashSet<String>linkedHashSet=q16.filter();
System.out.println(linkedHashSet.size());
}
}
7. 用Java刪除數組中所有相同的數,使之僅剩下一個,然後輸出剩下的數據
public class ArrayUnique {
/**
* 方法1 就是申請一個和nums大小一樣的數組tmpNums,
* 然後遍歷nums中的元素,對每個元素判斷是否在tmpNums出現過,
* 如果出現過,那麼就不放到新數組裡面,也就是不做處理;
* 如果沒有出現過,那麼就把它放到新的數組裡面
* 這種方法數組原來的相對順序可以保證
* 時間復雜度是n^2和空間復雜度是n
*
*
@param nums 輸入需要去重的數組
*
@return 返回去重後數組的長度
*/
public static int unique1(int[] nums) {
if (nums.length == 0) {
return 0;
}
int[] tmpNums = new int[nums.length];
tmpNums[
0] = nums[0];
int index = 1;
for (int i = 1, len = nums.length; i < len; i++) {
int j = 0;
for (; j < index; j++) {
if (tmpNums[j] == nums[i]) {
break;
}
}
if (j == index) {
tmpNums[index
++] = nums[i];
}
}
nums
= tmpNums;
return index;
}
8. 用java語言vertor類數組編寫一個去除一個數組重復數字的程序
你好,對於使用vertor,你需要先加入數據再遍歷出來。根據你的問題可以有以下思路供您參考:
1、准備要去重的數組 如int num={1,2,5,2,67,5}
2、通過循環將數組中的每個元素add 到vertor中存儲。
3、將存儲在vertor中的數據進行遍歷,然後進行比較,如果已經存在則將重復的其中一個去掉。
希望能夠幫助你。
9. Java如何將數組中具有相同的元素都刪去
如果是要把List中的重復元素刪除的話可以先吧List轉成Set去除重復元素
比如現在有個數組為 myArray ,裡面有部分的重復元素
Set mySet = new HashSet();
for(Object obj : Array){
mySet.add(obj);
}
mySet中所保存的元素就是唯一的了.
再吧mySet保存到數組中
完整例子:
// 創建一個數組,裡面存在重復的元素
String[] myArray = {"s","s","f","d"};
Set<String> mySet = new HashSet<String>();
// 去除重復元素
for(String s : myArray){
mySet.add(s);
}
myArray = new String[mySet.size()];
int index = 0;
// 將去重後的結果存入數組
for(String s : mySet){
myArray[index] = s;
index++;
}
// 列印出來結果
System.out.println(Arrays.toString(myArray));
10. Java數組去重復問題
最簡單的方式,我覺得效率也比較高的! 你建一個set。TreeSet吧,把組數組裡面的數據取出來一個一個放入set。最後set裡面的數據就是沒有重復的了!把set再放回ArrayList就OK。好處是,不管List有多大,放入的時候都是一個一個放的。我嘗試過給6萬條數據去重復,效率還是可以的