您的位置:

数组去重java,数组去重方法 js

本文目录一览:

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 删除数组中重复元素

package com.akfucc.zhidao;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Iterator;

import java.util.List;

public class P124876743 {

public static void main(String[] args) {

int[] nums = { 1, 2, 3, 3, 3, 3, 4 };

ListInteger numList = new ArrayListInteger();

for (int i : nums)

numList.add(i);

System.out.println(numList);

// 做删除

IteratorInteger it = numList.iterator();

int temp = -1;

if (it.hasNext())

temp = it.next();

while (it.hasNext()) {

int i = it.next();

if (i == temp) {

it.remove();

} else {

temp = i;

}

}

System.out.println(numList);

}

}

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去掉数组里的重复的数据

计数方法,你在遍历数组外边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;iarr.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;iarr.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;inewArr.length;i++){

System.out.println(newArr[i]);

}

}

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数组中去掉重复数据可以使用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));    }}

运行结果如下: