博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 集合
阅读量:4558 次
发布时间:2019-06-08

本文共 992 字,大约阅读时间需要 3 分钟。

      在使用List等集合和数组作为函数参数时一定是进行地址引用传递的,所以在我们自己写函数方法时可以直接将我们主函数main中要进行操作的集合或者数组直接作为实参传递给定义的函数进行处理,不用设置返回值,直接将返回值弄成void类型即可,当然也可以设置成跟实参返回类型一样的类型,两个方法其实都可以,只是本质上都是类似c语言中的指针操作,怎么改变都是对地址值所对应的内容进行操作。例如(部分函数):    

      //洗牌的功能1

      public static void shufflePoker(LinkedList pokers){                       
     //创建随机数对象
     Random random = new Random();
     for(int i = 0 ; i <100; i++){
     //随机产生两个索引值
     int index1 = random.nextInt(pokers.size());
     int index2 = random.nextInt(pokers.size());
    //根据索引值取出两张牌,然后交换两张牌的顺序
    Poker poker1 = (Poker) pokers.get(index1);
    Poker poker2 = (Poker) pokers.get(index2);
    pokers.set(index1, poker2);
    pokers.set(index2, poker1);
    }
    }

    //洗牌2

    public static LinkedList randompoker(LinkedList listtwo)
   {
   for(int i = 0; i < 100; i++)
   {
   Random random = new Random();
   int a = random.nextInt(listtwo.size());
   int b = random.nextInt(listtwo.size());
   Poker p = (Poker)listtwo.get(a);
   listtwo.set(a, listtwo.get(b));
   listtwo.set(b, p);
   }
   return listtwo;
   }

    但是其实第一种反而会好点,起码目前根据自己所学的是能节省内存

转载于:https://www.cnblogs.com/bravejia/p/4984499.html

你可能感兴趣的文章
线程同步的方式
查看>>
Mongodb 安装
查看>>
WPF窗口贴边隐藏(类似QQ)
查看>>
VS2008无法切换到视图设计器
查看>>
爱情故事:追忆似水流年 回味永恒的爱恋
查看>>
android mvn android:deploy签名问题
查看>>
transient
查看>>
[HDU 4348]To the moon
查看>>
初识【Windows API】--文本去重
查看>>
[转]IOS多线程
查看>>
详解spl_autoload_register() 与 __autoload
查看>>
Axure RP Extension for Chrome安装
查看>>
day_10
查看>>
ArcGIS API for JavaScript 入门教程[6] 再讲数据——Map类之可操作图层
查看>>
tfs2012 的体验地址
查看>>
打造专业外观-九宫图
查看>>
让discuz论坛单独版块贴子侧边栏(用户信息栏)关闭的修改办法
查看>>
倒计时
查看>>
Robolectric
查看>>
搜索引擎之全文搜索算法功能实现(基于Lucene)
查看>>