導航:首頁 > 編程語言 > java數組排重

java數組排重

發布時間:2024-11-16 13:50:02

java編程 將一個數組中的值按逆序重新存放。如原來的順序為4,1,3,5,9,2,1,到倒置後順序為1,2,9,5,3,1,4

結果如圖所示,代碼在下面。不明白的地方可以追問。

publicclassHelloWorld{
publicstaticvoidmain(String[]args){
int[]a=newint[]{4,1,3,5,9,2,1};
intt;
for(inti=0;i<a.length/2;i++){
t=a[i];
a[i]=a[a.length-1-i];
a[a.length-1-i]=t;
}
for(inti=0;i<a.length;i++){
System.out.print(a[i]+",");
}
}
}

㈡ 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]+" ");
}
}
}

㈢ 如何用java倆個數組m,n,按從大到小順序排好,將mn合並,重新排好

package daily;
public class Test {
public static void main(String[] args) {
int[] m = new int[] { 16, 10, 9, 5, 3 };
int[] n = new int[] { 10, 9, 8, 6, 1 };
int[] A = new int[m.length + n.length];
merge(m, n, A);
for (int i = 0; i < A.length; i++)
System.out.println(A[i]);
}
public static void merge(int[] m, int[] n, int[] A) {
int i = 0, j = 0, k = 0;
while (i < m.length && j < n.length) {
if (m[i] > n[j]) {
A[k++] = m[i++];
} else {
A[k++] = n[j++];
}
}
// 如何數組m還沒有合並完成
while (i < m.length)
A[k++] = m[i++];
// 如何數組n還沒有合並完成
while (j < n.length)
A[k++] = n[j++];
}
}

㈣ 一個java編程題,怎麼求出數組中重復數字的出現次數,並按次數從大到下排序

#include <iostream>#include <string>#include <fstream>using namespace std;int count=0;void countNum(int a[],int start,int finish){//cout<<start<<" "<<finish<<" ";int middle=(start+finish)/2;if(start>finish)return ;if(a[middle]==2){count++;countNum(a,start,middle-1);countNum(a,middle+1,finish);//cout<<"get here"<<middle<<endl;}else if(a[middle]>2){countNum(a,start,middle-1);}else

{

countNum(a,middle+1,finish);

}
//return count;}int main(){int s[1000];ifstream inf("1.txt");int i=0;

while(!inf.eof())

{inf>>s[i];i++;}//int s[]={1,2,2,2,3};int start=0;//,finish=NUM-1;countNum(s,start,i-1);cout<<count<<endl;}


(4)java數組排重擴展閱讀

#include<iterator>

template<typenamebiIter>

voidinsertion_sort(biIterbegin,biIterend)

{

typedeftypenamestd::iterator_traits<biIter>::value_typevalue_type;

biIterbond=begin;

std::advance(bond,1);

for(;bond!=end;std::advance(bond,1)){

value_typekey=*bond;

biIterins=bond;

biIterpre=ins;

std::advance(pre,-1);

while(ins!=begin&&*pre>key){

*ins=*pre;

std::advance(ins,-1);

std::advance(pre,-1);

}

*ins=key;

}

}

㈤ Java如何將數組中具有相同的元素都刪去

ArrayLista=newArrayList(數組);

for(inti=0;i<a.size();i++){

Objectobj=數組[i];

if(a.contains(obj)){

a.remove(i);

}

}

我答案錯了,不好意思,當初咋想的忘記了,抱歉。下面的其他匿名網友回答是正確的。另外附上我的修改。

一:利用set的唯一性解決

String[]strArr={"B","A","C","D","C","A"};
Set<String>strList=newHashSet(Arrays.asList(strArr));
System.out.println(strList.toString());

二:創建新的存儲單位,判斷是否重復後逐個增加

publicstaticvoidmain(String[]args){
String[]strArr={"B","A","C","D","C","A"};
List<String>strList=newArrayList<String>();
for(Stringstr:strArr){
if(strList.contains(str)){
continue;
}
strList.add(str);
}
System.out.println(strList.toString());
}

三:利用steam的distinct方法去重(jdk1.8的新特性)

String[]strArr={"B","A","C","D","C","A"};
List<String>strList=Arrays.asList(strArr);
strList=strList.stream().distinct().collect(Collectors.toList());
System.out.println(strList.toString());

㈥ java 中 統計出 數組中 相同的數字 和字元串

首先,用java中的有序的Array,你根據自己需要重寫compare方法,第一個問題就是按版照數字的大小排序權,第二就是按照字元個數排序(有序的Array在建立過程中已經正確排序了),這樣就得到兩個有序數組。

第二,太簡單了,自己思考吧。一個循環搞定,復雜度O(n)。

排序復雜度也是O(n),所以這兩個題復雜度都是O(n)

閱讀全文

與java數組排重相關的資料

熱點內容
博易大師升級文件在哪裡 瀏覽:415
ghost83手動安裝教程 瀏覽:802
谷歌代碼編寫規范 瀏覽:938
pdf掃描文件歪斜怎樣處理 瀏覽:752
電教室網路如何破解 瀏覽:939
jsfunctionthis 瀏覽:16
蕪湖寒假編程培訓是什麼 瀏覽:609
api源碼分享網站 瀏覽:511
小米復制文件找不到 瀏覽:959
什麼是網路層 瀏覽:73
如何利用編程做多文件數據合並 瀏覽:666
java如何用tcp發送16進制協議 瀏覽:975
js獲取當天 瀏覽:637
在什麼網站看戰狼2 瀏覽:881
win7桌面工具欄不見了 瀏覽:346
qq群幾個管理員 瀏覽:598
錄光碟怎麼找不到文件 瀏覽:885
flip5怎麼連app 瀏覽:273
五個g的文件怎麼傳到u盤 瀏覽:316
如何用編程編譯運行出心形圖案 瀏覽:486

友情鏈接