黑马程序员技术交流社区

标题: java入学测试数组题目 [打印本页]

作者: 你媚你魅你    时间: 2014-7-28 17:01
标题: java入学测试数组题目
数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
作者: 吴杰栋    时间: 2014-7-28 22:38
将数组装进集合中操作,楼主,附带送了个功能,输出的结果还把集合排序了下
  1. package cn.demo;

  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.Collection;
  5. import java.util.HashSet;
  6. import java.util.Iterator;
  7. import java.util.List;
  8. import java.util.ListIterator;
  9. import java.util.Set;

  10. //数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
  11. public class Demo01 {
  12.         public static void main(String[] args) {
  13.                 int[] arr = {4,2,4,6,1,2,4,7,8};
  14.                 List<Integer> al = new ArrayList<Integer>();
  15.                 for(int i : arr){
  16.                         al.add(i);
  17.                 }
  18.                 Set<Integer> set = new HashSet<Integer>();
  19.                 set.addAll(al);
  20.                 System.out.println(set);
  21.         }
  22. }
复制代码

作者: yueyouqiang    时间: 2014-7-31 20:51
  1. import java.util.*;
  2.   public class T {
  3.       public static void main(String[] args){
  4.          
  5.          //定义两个动态数组,a作为原始数组,b为去重数组
  6.          ArrayList<Integer> a = new ArrayList<Integer>();
  7.          ArrayList<Integer> b = new ArrayList<Integer>();
  8.          Scanner inp = new Scanner(System.in);
  9.        //输入数组元素
  10.          while(inp.hasNext()){
  11.              int t = inp.nextInt();
  12.              //当输入为-1时表示输入结束
  13.              if (t == -1) break;
  14.             else a.add(t);
  15.          }
  16.         //去重复制入b中
  17.          for(Iterator it = a.iterator();it.hasNext();){
  18.              int nex = (int)it.next();
  19.              if(!b.contains(nex)) b.add(nex);            
  20.          }
  21.          //打印去重结果b
  22.          for(Iterator it = b.iterator();it.hasNext();){
  23.             System.out.print((int)it.next()+" ");
  24.          }
  25.      }
  26. }
复制代码



键盘输入数组元素


有个缺点:如果数组元素中有-1就不行了
作者: yqj    时间: 2014-7-31 23:00
  1. package cn.test;

  2. import java.util.LinkedHashSet;
  3. import java.util.Set;

  4. /*
  5. * 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
  6. */
  7. public class Test6 {
  8.         public static void main(String[] args) {
  9.                 int[] arr={4,2,4,6,1,2,4,7,8};
  10.                 // LinkedHashSet可以保证数据的顺序不变
  11.                 Set<Integer> set=new LinkedHashSet<Integer>();
  12.                 //排重
  13.                 for (int i : arr) {
  14.                         set.add(i);
  15.                 }
  16.                 // 得到获得的数组
  17.                 Integer[] arr2=set.toArray(new Integer[set.size()]);
  18.                 //遍历数组
  19.                 for (int i = 0; i < arr2.length; i++) {
  20.                         System.out.println(arr2[i]);
  21.                 }
  22.         }
  23. }
复制代码

作者: 刘小印    时间: 2014-8-1 00:10
集合就哦了
作者: zhuohong_xiao    时间: 2014-8-1 01:31
呜呜,我没看懂啊.说明我基础不行啊.再去看视频把.
作者: chen010yu    时间: 2014-8-1 11:48
路过进来看看




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2