第一种:迭代器方法删除。生成一个迭代器,获取第一个值,然后进行删除。
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 步
}