您的位置:

java数组去重,java数组去重复怎么做

本文目录一览:

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中怎么找出数组中重复的数并去除?

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

 public static void testA() { 

    String [] str = {"Java", "C++", "Php", "C#", "Python", "C++", "Java"}; 

    for (String elementA:str ) { 

      System.out.print(elementA + " "); 

    } 

    ListString list = new ArrayListString(); 

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

      if(!list.contains(str[i])) { 

        list.add(str[i]); 

      } 

    } 

    System.out.println(); 

    String[] newStr = list.toArray(new String[1]); //返回一个包含所有对象的指定类型的数组  

    for (String elementB:newStr ) { 

      System.out.print(elementB + " "); 

    } 

    System.out.println(); 

  }

所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。

举例:

int a[10]; 说明整型数组a,有10个元素。

float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。

char ch[20]; 说明字符数组ch,有20个元素。

数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

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

;

 public static void main(String[] args) {

 //可以换种思路,把数组放到set里面(set的值不会重复)就可以去重了

Integer[] arr = {85,4,2,6,11,4,5,8,9};

SetInteger set = new HashSetInteger();

 for(Integer i : arr)

 set.add(i);

 for(Object j: set.toArray())

 System.out.print(j + " ");

 }

java中数组怎么删除数组中重复的数

通过HashSet剔除

    // 删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用

    public static void removeDuplicate1(List list) {

        HashSet h = new HashSet(list);

        list.clear();

        list.addAll(h);

        System.out.println(list);

    }