您的位置:

java数组去重文档介绍内容,数组去重的代码写出来

本文目录一览:

JAVA如何去除数组中每个元素中重复的内容

java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:

 

import java.util.Arrays;import java.util.Set;import java.util.TreeSet; public class ceshi {    public static void main(String[] args) {         int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 };//新建一个int类型数组        System.out.println(Arrays.toString(testArr));        SetInteger set = new TreeSetInteger();//新建一个set集合        for (int i : testArr) {            set.add(i);        }        Integer[] arr2 = set.toArray(new Integer[0]);        // 数组的包装类型不能转 只能自己转;吧Integer转为为int数组;        int[] result = new int[arr2.length];        for (int i = 0; i  result.length; i++) {            result[i] = arr2[i];        }        System.out.println(Arrays.toString(arr2));    }}

运行结果如下:

JAVA关于顺序数组数据去重,效率最高的方式是什么?

JAVA关于顺序数组数据去重,效率最高的方式是使用LinkedHashSet也是Set,set的特征就是对重复的元素只保存一个,LinkedHashSet只是在内部使用链表维护元素插入的顺序

package com.question;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.util.LinkedHashSet;

/**

 * delete the conflict String.

 * 

 * @author Xxx

 */

public class Q16 {

    

    /**

     * generate the text. 

     * 

     */

    public void init() {

        

        // write file

        OutputStream outputStream = null;

        try {

            outputStream = new FileOutputStream("C:/init.txt");

            for (int i = 0; i  100000; i++) {

                for (int j = 0; j  2; j++) {

                    outputStream.write(("Hello" + i).getBytes());

                    outputStream.write("\r\n".getBytes());

                }

            }

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            if (outputStream != null) {

                outputStream = null;

            }

        }

    }

    

    /**

     * filter the string.

     * 

     * @return

     */

    public LinkedHashSetString filter() {

        

        // create a LinkedHashSet project.

        LinkedHashSetString linkedHashSet = new LinkedHashSetString();

        try {

            

            // read the file.

            InputStream inputStream = new FileInputStream("C:/init.txt");

            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);

            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            String line = bufferedReader.readLine();

            

            // add the string to the LinkedHashSet

            while(line != null) {

                linkedHashSet.add(line);

                line = bufferedReader.readLine();

            }

            

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        // return the result.

        return linkedHashSet;

    }

    

    @Deprecated

    public static void main(String[] args) {

        Q16 q16 = new Q16();

//        q16.init();

        LinkedHashSetString linkedHashSet = q16.filter();

        System.out.println(linkedHashSet.size());

    }

}

java中怎么将字符串数组中的重复的元素去掉,但是还是保留一个。

import java.util.*;

class BaiDu

{

public static void main(String[] args)

{

TreeSetString tr = new TreeSetString();

String[] s ={"11","22","22","33","33","33"};

System.out.print("====处理前=======");

for(int i=0;is.length;i++){

System.out.print(s[i]+" ");

tr.add(s[i]);

}

String[] s2= new String[tr.size()];

System.out.println("=====处理后======");

for(int i=0;is2.length;i++){

s2[i]=tr.pollFirst();//从TreeSet中取出元素重新赋给数组

System.out.print(s2[i]+" ");

}

}

}

JAVA数组去重问题

提供个思路,具体算法还是自己写比较好。

你可以用一个循环把vector里的元素取出来放进一个map里面,之所以用map就是因为map是不允许有重复元素的。

这样,map的key就是你的vector的元素,后面的value就是这个元素出现的次数。

当然,你在向map添加的时候要判断一下是否有这个元素了。

最后频率,计算一下就好了。

Java如何将数组中具有相同的元素都删去

如果是要把List中的重复元素删除的话可以先吧List转成Set去除重复元素

比如现在有个数组为 myArray ,里面有部分的重复元素

Set mySet = new HashSet();

for(Object obj : Array){

mySet.add(obj);

}

mySet中所保存的元素就是唯一的了.

再吧mySet保存到数组中

完整例子:

// 创建一个数组,里面存在重复的元素

String[] myArray = {"s","s","f","d"};

SetString mySet = new HashSetString();

// 去除重复元素

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