java集合问题(主要是8 9 10不会)

/**
* 练习:
* 1. 生成一个有10个0~99随机数的
* 可重复集list
* 2.用迭代器遍历该集合,大于等于70的
* 元素删除
* 3.用正常的for循环,结合size方法遍历输出
* 新集合list
* 4.替换下标为3的元素为0,把被替换的元素输出,
* 并且输出替换后的list
* 5.截取list下标2到4的子集合slist
* 6.获取list的第1个元素和最后一个元素,
* 把这两个元素插入到子集合slist的前两个位置。
* 7.输出判断list是否包含slist.
* 8.清除slist,并且用增强for循环输出list。
* 9.某中学有若干学生(学生对象放一个list中),每个学生有
* 姓名属性、班级属性 和考试成绩属性。(需要自己创建学生类student)
* 某次考试后,每个学生都获得了一个考试成绩。遍历list集合,并且把
* 学生对象的属性打印出来。
* 10.设计一个方法,判断两个集合是否有交集,有则输出其交集,没有则输出没有交集
*
*/

8.清空slit,slist.clear();
输出list
for(int l : list){System.out.println(l);}
9.这个内容太多了,手机手打太慢说下思路。把学生放到list前都需要实例化一下学生实体类(new Student)。或者一个学生一个对象,学生多时明显不适用。学生赋值成绩这个不知道你是实例化学生时赋值的还是后期。如果后期可以遍历list时获取名称。然后赋值。遍历打印参考8。
10.你这里都用list就直接用list了
public void retainPrint(List<Integer> l1, List<Integer> l2){
l1.retainAll(l2);
if(a.isEmpty()){
System.out.println("没有交集");
}else{
for(int l : l1){
System.out.println(l);
}
}
}追问

直接用slits.clear();会报错 我试过了…… 不知道原因是什么

把第七题删了clear方法才可以用 那第七题怎么改……

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-01
10、
public class Test{
public static void main(String[] args){
//你自己假设几个集合
List<String> list1=new ArrayList<>();
List<String> list2=new ArrayList<>();
List<String> list3=new ArrayList<>();//用来储存交集的集合
list1.add("1");
list1.add("2");
list1.add("3");
list2.add("1");
list2.add("2");
//判断是否有相同的元素
for(int i=0;i<list1.size();i++){
for(int j=0;i<list2.size();j++){
if(list.get(i).equals(list2.get(j))){
list3.add(list1.get(i));
}
}
}
if(list3.size()==0){
System.out.println("没有交集");//交集集合为空,输出没有交集
}else{
//交集集合不为空,遍历输出交集
for(int i=0;i<list3.size();i++){
System.out.println(list3.get(i));//输出交集元素
}
}
}
}
//记得点赞
相似回答