黑马程序员技术交流社区
标题:
数组去重
[打印本页]
作者:
孟茹
时间:
2014-2-16 11:39
标题:
数组去重
数组去重
例如:
原始数组是{4,2,4,6,1,2,4,7,8}
得到结果{4,2,6,1,7,8}
作者:
why168
时间:
2014-2-16 11:45
//去除数组中重复的记录
public static String[] array_unique(String[] a) {
List<String> list = new LinkedList<String>();
for(int i = 0; i < a.length; i++) {
if(!list.contains(a[i])) {
list.add(a[i]);
}
}
return (String[])list.toArray(new String[list.size()]);
}
作者:
云行水边
时间:
2014-2-16 13:01
本帖最后由 云行水边 于 2014-2-16 13:12 编辑
完整代码:
package com.itheima;
import java.util.ArrayList;
import java.util.List;
public class Diary2 {
/**
* @author M.change(http://wanyan1991.blog.163.com/我的博客 请关注 嘿嘿(云行水边))
* @param args
*/
public static void main(String[] args) {
int [] data = {4,2,4,6,1,2,4,7,8};
for (int elementA:data ) {
System.out.print(elementA + " ");
}
List list = new ArrayList();
for (int i=0; i<data.length; i++) {
if(!list.contains(data[i])) {
list.add(data[i]);
}
}
System.out.println();
//list.toArray();
for (Object elementB:list.toArray() ) {
System.out.print(elementB + " ");
}
System.out.println();
}
}
复制代码
作者:
云行水边
时间:
2014-2-16 13:03
结果
4 2 4 6 1 2 4 7 8
4 2 6 1 7 8
复制代码
作者:
廉伟杰
时间:
2014-2-16 13:51
解题思路是:
定义两个数组,一个装原数组,一个装重组后的数组,后边这个数组都默认为0
然后两个for循环,把数组中出现的数赋给第二个数组,然后输出第二个数组就行了
作者:
刘旭升
时间:
2014-2-16 15:46
他们的都是使用集合,集合的比较简单了。我写了一个数组版的,你可以参阅下:
package itheima.test;
/*数组去重!数组版!
*
* 原始数组是{4,2,4,6,1,2,4,7,8}
得到结果{4,2,6,1,7,8}*/
public class ArrayToHeavy {
public static void main(String[] args){
int[] oldarray = new int[]{4,2,4,6,1,2,4,7,8};
int[] newarray = new int[oldarray.length];
System.out.println("旧数组:{4,2,4,6,1,2,4,7,8}");
int index = 0;boolean flag = true;
for(int i=0;i<oldarray.length;i++){
for(int j=0;j<index+1;j++){
if(oldarray[i]==newarray[j]){
flag = false;
}
}if(flag){
newarray[index]=oldarray[i];
index++;
}flag=true;
}
System.out.print("新数组:{");
for(int i=0;i<index;i++){
System.out.print(newarray[i]+",");
}System.out.print("}");
}
}
复制代码
作者:
疲劳的小马
时间:
2014-2-16 23:58
来学习。。。。。。。。。
作者:
放课后小朋友
时间:
2014-2-17 00:04
这个很简单的,使用集合判断即可。
代码如下(为了结果好看,里面有很多废话):
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class JiShuFen15 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={4,2,4,6,1,2,4,7,8};
System.out.print("原数组:"+"\r\n"+"{");
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
System.out.print(arr[i]);
}
else{
System.out.print(arr[i]+",");
}
}
System.out.print("}");
List l=new ArrayList();
for(int j=0;j<arr.length;j++){
if(!l.contains(arr[j])){
l.add(arr[j]);
}
}
System.out.println("\r\n"+"去重之后的数组:");
Object[] obj=l.toArray();
System.out.print("{");
for(int n=0;n<obj.length;n++){
if(n==obj.length-1){
System.out.print(obj[n]);
}
else{
System.out.print(obj[n]+",");
}
}
System.out.print("}");
}
}
作者:
唐志海
时间:
2014-2-17 11:31
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class newArr {
public static void main(String[] args) {
Object[] arr={4,2,4,6,1,2,4,7,8};
List<Object> al=Arrays.asList(arr);
getSimply(al);
}
public static<T> void getSimply(List<T> al)
{
List<T> list=new ArrayList<T>();//定义一个新的数组
for(T t:al)
{
if(!list.contains(t))//判断新的集合中是否已经有了该元素
list.add(t);//有就加
}
Object[] arr=list.toArray();//这步可要可不要,也可以直接迭代集合
for(int x=0;x<arr.length;x++)
{
System.out.println(arr[x]);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2