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

热点内容
ps入门必备文件 浏览:348
以前的相亲网站怎么没有了 浏览:15
苹果6耳机听歌有滋滋声 浏览:768
怎么彻底删除linux文件 浏览:379
编程中字体的颜色是什么意思 浏览:534
网站关键词多少个字符 浏览:917
汇川am系列用什么编程 浏览:41
笔记本win10我的电脑在哪里打开摄像头 浏览:827
医院单位基本工资去哪个app查询 浏览:18
css源码应该用什么文件 浏览:915
编程ts是什么意思呢 浏览:509
c盘cad占用空间的文件 浏览:89
不锈钢大小头模具如何编程 浏览:972
什么格式的配置文件比较主流 浏览:984
增加目录word 浏览:5
提取不相邻两列数据如何做图表 浏览:45
r9s支持的网络制式 浏览:633
什么是提交事务的编程 浏览:237
win10打字卡住 浏览:774
linux普通用户关机 浏览:114

友情链接