当前位置:首页 » 编程语言 » java数组去重

java数组去重

发布时间: 2022-10-10 21:00:47

java去掉数组里的重复的数据

计数方法,你在遍历数组外边int 一个数=0,如果某个数和数组【i】相等,就++
删除方法我用的是笨方法,因为数组不能直接增删操作,要先算出新数组的长度,在遍历出去,我是取巧了先排序了,当然你也可以用其他排序方法排序
public static void main(String[] args) {
int [] arr={1,2,2,3,4,5};
int len=arr.length;
Arrays.sort(arr);
int leng=0;
for( int i=0;i<arr.length-1;i++){
if(arr[i]!=arr[i+1]){
leng++;
}
}
if(arr[arr.length-2]!=arr[arr.length-1]){
leng++;
}
System.out.println(leng);
int newlength=0;
int []newArr=new int[leng];
for( int i=0;i<arr.length-1;i++){
if(arr[i]!=arr[i+1]){
newArr[newlength]=arr[i];
newlength++;
}
}
if(arr[arr.length-2]!=arr[arr.length-1]){
newArr[newlength]=arr[arr.length-1];
}
for(int i=0;i<newArr.length;i++){
System.out.println(newArr[i]);
}

}

㈡ Java中的一维数组去掉当中的重复数据怎么操作


publicstaticvoidmain(String[]args){
int[]intArray=newint[]{6,2,9,6,1,2,6,7,8};
int[]noneRepeatArray=newint[]{};
for(inti:intArray){
booleanhasRepeat=false;
for(intj:noneRepeatArray){
if(i==j)hasRepeat=true;
}
if(!hasRepeat){
int[]tempArray=newint[noneRepeatArray.length+1];
System.array(noneRepeatArray,0,tempArray,0,noneRepeatArray.length);
noneRepeatArray=tempArray;
noneRepeatArray[noneRepeatArray.length-1]=i;
}
}
System.out.println(Arrays.toString(noneRepeatArray));
}

㈢ 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));

㈣ 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());
}
}

㈤ Java去除数组中的重复的数据后输出数组并把重复的数输出

就是再接一个新的list
你if{}后面加了else把重复数据添加到新list
然后遍历就可以了

㈥ java中怎么样子找出数组中重复的数,并去除

其实只要遍历数组,然后放进set集合内即可实现。
比如:
//set集合可以自动去重
Integer[] a = {1, 2, 2 , 19, 19, 8, 9};
Set<Integer> set = new HashSet<Integer>();
for(Integer i : a)
set.add(i);
for(Object s: set.toArray())
System.out.print(s+ " ");
}

㈦ java 数组如何去掉重复元素

理论上是可以的,但是太复杂了,借助于集合更好一些

㈧ java中怎么找出数组中重复的数并去除

java中找出数组中重复的数并去除的代码如下:

publicstaticvoidtestA(){
String[]str={"Java","C++","Php","C#","Python","C++","Java"};
for(StringelementA:str){
System.out.print(elementA+"");
}
List<String>list=newArrayList<String>();
for(inti=0;i<str.length;i++){
if(!list.contains(str[i])){
list.add(str[i]);
}
}
System.out.println();
String[]newStr=list.toArray(newString[1]);//返回一个包含所有对象的指定类型的数组
for(StringelementB:newStr){
System.out.print(elementB+"");
}
System.out.println();
}

㈨ 用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;
}

热点内容
我的世界工艺服务器传送点怎么搞 发布:2024-12-22 10:56:30 浏览:908
exprlinux 发布:2024-12-22 10:55:19 浏览:697
你知道甲鱼密码是多少吗 发布:2024-12-22 10:26:32 浏览:812
我的世界国服服务器开服 发布:2024-12-22 10:09:55 浏览:543
标题编译策略 发布:2024-12-22 10:04:45 浏览:222
android开发xml 发布:2024-12-22 10:00:20 浏览:64
sql服务器名称什么时候能写ip 发布:2024-12-22 09:53:19 浏览:129
域控制服务器怎么设置ip 发布:2024-12-22 09:43:23 浏览:883
csvreaderpython 发布:2024-12-22 09:43:13 浏览:769
linux更改用户 发布:2024-12-22 09:35:19 浏览:506