通过跳过列表中的值来为序列写一个for循环?

时间:2017-05-30 09:44:26

标签: java hibernate spring-mvc

我有整数列表,我想创建一个从序列1到n的for循环,跳过List中已经存在的元素,那么这是最好的方法还是有效的方法呢?

2 个答案:

答案 0 :(得分:1)

大多数高效方式,即 O(m + n),是将version: '2' services: db: image: mysql:5.7 ports: - "9013:3306" volumes: - ./database:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: - ./wordpress:/var/www/html ports: - "8013:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_TABLE_PREFIX: wpd1_ 转换为HashSet,然后使用{检查{3}}:

List

如果您未转换为Set<Integer> set = new HashSet<>(list); for (int i = 1; i <= n; i++) { if (! set.contains(i)) { // your code here } } ,并直接使用Set contains()方法,则效果将为 O(mn),其中 m 是列表中元素的数量。

答案 1 :(得分:-1)

您可以使用hashset来自动删除重复的元素。因此,对于您的输入数组,将每个元素逐个放入hashset中,最后您的hashset将包含非重复元素。

关于hashshet的疑问请参考:https://www.tutorialspoint.com/java/java_hashset_class.htm