我需要保留一个独特的元素列表,我还需要随时从中随机选择一个元素.我有两种简单的方法可以做到这一点.
保持在集合中看到的元素 - 这给了我元素的独特性.如果需要随机选择一个,请执行以下操作:
elementsSeen.toArray()[random.nextInt(elementsSeen.size())]
Run Code Online (Sandbox Code Playgroud)保持List中的元素 - 这种方式不需要转换为数组,因为当我需要随机的时候有get()函数.但是在这里我需要在添加时执行此操作.
if (elementsSeen.indexOf(element)==-1) {elementsSeen.add(element);}
Run Code Online (Sandbox Code Playgroud)所以我的问题是哪种方式会更有效率?转换为数组更多消耗还是indexOf更糟?如果尝试添加元素的次数是10次或100次或1000次,会怎么样?
我感兴趣的是如何以最有效的方式将列表的功能(按索引访问)与集合的功能(唯一添加)相结合.
有没有办法将多个回溯配置文件组合在一起?假设有一个包含多个项目的父项目我希望所有人都有相同的基本配置或基本logback.xml文件,但我想为每个项目添加或更改一些内容.可以这样做吗?
真的不太了解它,但是听说可以在属性的帮助下为log4j做这样的事情.
在 python 中,这有效:
clear = lambda: os.system('cls')
clear()
Run Code Online (Sandbox Code Playgroud)
我将如何在 Scala 中做到这一点?