导航:首页 > 编程语言 > 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数组排重相关的资料

热点内容
苹果售后换电池要多久 浏览:142
macbook12蓝牙版本 浏览:276
手游一般是哪个编程工具开发的 浏览:365
安卓openvpn导入配置 浏览:858
k线组合app哪个好用 浏览:403
javaweb字典选择框 浏览:362
刚装的宽带怎么连接网络连接 浏览:909
钢铁雄心4陕西代码 浏览:419
高效记住代码的方法 浏览:390
envi5064位破解文件 浏览:808
fc超级马里奥安卓版 浏览:134
内蒙古数控大赛用什么软件编程 浏览:148
2010word修改作者信息 浏览:386
linuxtomcat打不开 浏览:497
网络营销与传统营销相比有哪些特点和优势 浏览:404
图片形式的文件怎么弄 浏览:779
网页文件的后缀 浏览:681
ipad录屏视频文件是什么格式 浏览:30
atm网络是什么 浏览:673
微博可以直接上传pdf文件吗 浏览:206

友情链接