明明的随机数

/*
 * 生成随机数的方法:
 * (1)使用math的random方法,math.random()
 *         random() 方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。
 * (2)使用Random对象 生成一个Random对象:Random rand = new Random();
 *         对象中有一个方法为rand.nextInt(Index),表示生成[0,Index)范围内的随机整数
 *         如rand.nextInt(10)表示生成0->9之间的随机数
 *         int randNumber =rand.nextInt(MAX - MIN + 1) + MIN; 
 *         // randNumber 将被赋值为一个 MIN 和 MAX 范围内的随机数
 * 
 * 生成1到1000之间随机数的方法:
 * (1)Math方法
 *         num = (int)Math.random()*1000+1;//生成的为double类型需要转换为int型,记得加括号,不加的话会先强转,结果为0
 * (2)Random对象方法
 *         Random rand = new Random();
 *         num = rand.nextInt(1000)+1
 * 
 * 数组创建的三种方式:
 *     (1)创建数组的第一种方法
        int[] arr=new int[6];
        int intValue=arr[5];
    (2)创建数组的第二种方法
        int[] x={1,2,3,4};
    (3)创建数组的第三种方法。
        int[] y= new int[]{1,2,3,4,5};
 * 
 * 
 * 集合去重:
 *     集合的创建
 *          List<Integer> list = new ArrayList<Integer>();
            for (int i=0;i<=2;i++){
                for (int j=0;j<=3;j++){
                    list.add(j);
            }
        }
 *     (1)利用contains方法,list.contains(i)判断list集合中是否包含元素i,若包含返回True,不包含返回False

        //创建一个临时集合装去重后的数据
        List<Integer> tempList = new ArrayList<Integer>();
        for(Integer i : list){
            if(!tempList.contains(i)){//判断是否有重复数据,如果没有就将数据装进临时集合
                tempList.add(i);
            }
        }
 *     (2)通过contains方法+Iterator 的remove方法实现
 *         list<Interget> tempList = new ArrayList<Interget>();
 *         Iterator<Interget> iter = list.iterator();
        while(iter.hasNext()){
            int t=iter.next();
            if(tempList.contains(t)){
                iter.remove();
            } else{
                tempList.add(t);
            }
 数组去重:
     (1)每个数组元素与之后的元素进行对比,如果结束当前循环(声明一个标记实现),比较下一个,如果没有则存入临时数组
 *         public Object[] arrayTest1(Object[] arr){
    //用来记录去除重复之后的数组长度和给临时数组作为下标索引
        int t = 0;
        Object[] tempArr = new Object[arr.length];
        for(int i = 0; i < arr.length; i++){
       //声明一个标记,并每次重置
            boolean isTrue = true;
            for(int j=i+1;j<arr.length;j++){
       //如果有重复元素,改变标记状态并结束当次内层循环
                if(arr[i]==arr[j]){
                    isTrue = false;
                    break;
                }
            }
      //判断标记是否被改变,如果没被改变就是没有重复元素
            if(isTrue){
                tempArr[t] = arr[i];
       //到这里证明当前元素没有重复,那么记录自增
                t++;
            }
        }
    //声明需要返回的数组,这个才是去重后的数组
        Object[]  newArr = new Object[t];
     //用arraycopy方法将刚才去重的数组拷贝到新数组并返回
        System.arraycopy(tempArr,0,newArr,0,t);
        return newArr;
    }    
    
    (2)利用hashset去重
        //实例化一个set集合
        Set set = new HashSet();
        //遍历数组并存入集合,如果元素已存在则不会重复存入
        for (int i = 0; i < arr.length; i++) {
            set.add(arr[i]);
        }
        //返回Set集合的数组形式
        return set.toArray();
 *

 *排序问题:

    可以用list.sort()排序,
 * 也可以用Collections.sort()排序,结果都是一样的
 * list.sort(Comparator.naturalOrder());//正序比较
 * Collections.sort(list);//正序比较     
 * */

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值