java set 删除第一个对象的方法

286 阅读1分钟

第一种:迭代器方法删除。生成一个迭代器,获取第一个值,然后进行删除。

package zh.codegym.task.task08.task0819;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/* 
包含猫的集
*/

public class Solution {
    public static void main(String[] args) {
        Set<Cat> cats = createCats();
        Iterator<Cat> iterator = cats.iterator();
        iterator.next();
        iterator.remove();


        //在此编写你的代码. 第 3 步
        printCats(cats);
    }
    public static class Cat{
        public String name;
    }

    public static Set<Cat> createCats() {
        //在此编写你的代码. 第 2 步
        HashSet<Cat> cats = new HashSet<>();
        Cat cat1=new Cat();
        cat1.name="1";
        Cat cat2=new Cat();
        cat2.name="2";
        Cat cat3=new Cat();
        cat3.name="3";
        cats.add(cat1);
        cats.add(cat2);
        cats.add(cat3);
        return cats;
    }

    public static void printCats(Set<Cat> cats) {
        cats.forEach(System.out::println);
        // 第 4 步
    }

    // 第 1 步
}

第二种,进行转换为array进行删除。这个方法会比较简单。

package zh.codegym.task.task08.task0819;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/* 
包含猫的集
*/

public class Solution {
    public static void main(String[] args) {
        Set<Cat> cats = createCats();
        cats.remove(cats.toArray()[0]);
        //在此编写你的代码. 第 3 步
        printCats(cats);
    }
    public static class Cat{
        public String name;
    }

    public static Set<Cat> createCats() {
        //在此编写你的代码. 第 2 步
        HashSet<Cat> cats = new HashSet<>();
        Cat cat1=new Cat();
        cat1.name="1";
        Cat cat2=new Cat();
        cat2.name="2";
        Cat cat3=new Cat();
        cat3.name="3";
        cats.add(cat1);
        cats.add(cat2);
        cats.add(cat3);
        return cats;
    }

    public static void printCats(Set<Cat> cats) {
        cats.forEach(System.out::println);
        // 第 4 步
    }

    // 第 1 步
}