最近学习了集合的相关知识,先后学习了三种接口的实现类创建的集合的遍历,尝试写了在ArryList实现增删改查的代码,也学习了ArryList类中的remove(),contains()方法; HashSet类中的add()方法。
在使用HashSet类创建对象来实现增删改查时,我起初复制了ArryList类的对象实现增删改查的代码,
1.添加时,ArryList添加的是动态数组,允许添加重复元素,我们的需求是要求不添加重复元素的,需要进行判断,用到的是contains方法返回布尔类型判断容器内是否含有某元素,二次添加时equals方法中会走的代码如下else { for (int i = size-1; i >= 0; i--) if (o.equals(elementData[i])) return i; } return -1;
ArrayList和HashSet中的添加代码分别展示如下
//ArrayList实现系统的添加代码
System.out.println("输入学生姓名 学号 成绩 用空格间隔");
String userName=sc.next();
String userId=sc.next();
int userScores=sc.nextInt();
user.setName(userName);
if(clazz.contains(user)) {
System.out.println("学号重复");
return;
}
user.setId(userId);
user.setScores(userScores);
clazz.add(user);
System.out.println("添加学生"+userName+"成功");
break;
//HashSet实现系统的添加代码
System.out.println("输入学生姓名 学号 成绩 用空格间隔");
String userName=sc.next();
String userId=sc.next();
int userScores=sc.nextInt();
boolean flag;
user.setName(userName);
user.setId(userId);
user.setScores(userScores);
flag=clazz.add(user);
if(flag