问答详情
源自:6-5 应用 Collections.sort() 实现 List 排序

Java入门第三季集合框架下中的collections问题

do{ k=random.nextInt(); }while(integerList.contains(k)); 为什么能判断不重复?whlie中包含的条件意思应该是当interList中含有该k,继续执行循环语句吗?

提问者:伊人春风十里 2017-06-03 08:20

个回答

  • zzR_TO
    2017-08-25 14:37:17

    这个do    while循环在FOR循环里面,而for循环已经把k值添加进list了,所以能判断啊

  • 阿布莱提阿布杜热西提
    2017-06-03 15:53:11

    我是觉得是这样的。执行contains方法的时候是调用integerList中的每个元素的equal方法与参数中的int值进行比较(此int参数应该被自动装箱成Integer类型了),然后如果integerList中有和参数相等的元素返回true。

  • 阿布莱提阿布杜热西提
    2017-06-03 10:35:21

    好巧,正好系统把你的问题推送我了呢。第一次回答问题,有点小激动的说。你理解的没错呀,要勇于肯定自己。

    这个就是一个典型的do-while循环,先用random.nextInt()生成一个随机数,然后用IntegerList.contains()方法判断是否已经存在该值,如果存在就重新生成。IntegerList相当于一个容易,每次生成随机数放到这个容器里检查一遍是不是已经存在了