本文目录一览:
- 1、java中怎么找出数组中重复的数并去除?
- 2、java 删除数组中重复元素
- 3、java中怎么样子找出数组中重复的数,并去除
- 4、java去掉数组里的重复的数据
- 5、JAVA关于顺序数组数据去重,效率最高的方式是什么?
- 6、JAVA如何去除数组中每个元素中重复的内容
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)); }}
运行结果如下: