Contains方法,查看序列中是否包含某个元素
来源:互联网 发布:网络组织结构 编辑:程序博客网 时间:2024/05/22 06:57
Equals方法重写
package com.imooc.collection;/** * 课程类 * @author Monica * */public class Course { public String id; public String name; public Course(String id,String name){ this.id = id; this.name = name; } public Course(){ } @Override public boolean equals(Object obj){ if(this == obj){//通过双等号判断对象相等 return true; } if(obj == null)//如果obj等于空 return false; if(!(obj instanceof Course))//ogj对象不是Course类型 return false; //前面都通过了 Course course = (Course)obj;//强转为course对象 if(this.name == null){//通过名称判断是否为course对象,判断名称是否为空 if(course.name == null)//强转为course的对象是否为空,两个都为空,是相等的 return true; else return false; }else{//当前的对象不为空 if(this.name.equals(course.name))//判断name是否相等 return true; else//name不相等 return false; } }}
package com.imooc.collection;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;public class SetTest { public List<Course> coursesToSelect; private Scanner console; public SetTest(){ coursesToSelect = new ArrayList<Course>(); console = new Scanner(System.in); } /** * 用于往coursesToSelect中添加备选课程 */ public void testAdd(){ //创建一个课程对象,并通过调用add方法,添加到备选课程List中 Course cr1 = new Course("1","数据结构"); coursesToSelect.add(cr1); //取出元素 get方法 Course temp = (Course)coursesToSelect.get(0); //System.out.println("添加了课程:"+temp.id+":"+temp.name); Course cr2 = new Course("2","C语言");//提供索引位置,插入元素 coursesToSelect.add(0, cr2); Course temp2 = (Course)coursesToSelect.get(0); //System.out.println("添加了课程:"+temp2.id+":"+temp2.name); coursesToSelect.add(cr1); //取出元素 get方法 Course temp0 = (Course)coursesToSelect.get(2); //System.out.println("添加了课程:"+temp.id+":"+temp.name); //以下方法会抛出数组下标越界异常 //Course cr3 = new Course("3","Test"); //coursesToSelect.add(4,cr3);数组越界 Course[] course = {new Course("3","离散数学"),new Course("4","汇编语言")}; coursesToSelect.addAll(Arrays.asList(course)); Course temp3 = (Course)coursesToSelect.get(3); Course temp4 = (Course)coursesToSelect.get(4); //System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name); Course[] course2 = {new Course("5","高等数学"),new Course("6","大学英语")}; coursesToSelect.addAll(2,Arrays.asList(course2)); Course temp5 = (Course)coursesToSelect.get(2); Course temp6 = (Course)coursesToSelect.get(3); //System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name); } /** * 通过for each方法访问集合元素 * @param args */ public void testForEach(){ System.out.println("有如下课程待选(通过for each访问):"); for(Object obj:coursesToSelect){ Course cr = (Course)obj; System.out.println("课程:"+cr.id+":"+cr.name); } } /** * 测试List的contains方法 * containsAll方法,是否包含多个元素 * @param args */ public void testListContains(){ //取得备选课程序列的第0个元素 Course course = coursesToSelect.get(0); //打印输出courseToSelected是否包含course对象 System.out.println("取得课程:"+course.name); System.out.println("备选课程中是否包含课程:"+course.name+","+coursesToSelect.contains(course)); //提示输入课程名称 System.out.println("请输入课程名称:"); String name = console.next(); //创建一个新的课程对象,ID和名称,与course对象完全一样 Course course2 = new Course(); course2.name = name; System.out.println("新创建课程:"+course2.name); System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2)); } public static void main(String[] args) { // TODO Auto-generated method stub SetTest st = new SetTest(); st.testAdd(); st.testListContains(); /*st.testForEach(); //创建一个学生对象 Student student = new Student("1","小王"); System.out.println("欢迎学生:"+student.name+"选课!"); //创建要给Scanner对象,用来接收从键盘输入的课程ID Scanner console = new Scanner(System.in); for(int i=0;i<3;i++){ System.out.println("请输入课程ID"); String courseId = console.next(); for(Course cr:st.coursesToSelect){ if(cr.id.equals(courseId)){ student.courses.add(cr); *//** * Set中,添加某个对象,无论添加多少次 * 最终只会保留一个该对象(的引用), * 并且,保留第一次添加的那一个 *//* //student.courses.add(cr); //student.courses.add(null); } } } st.testForEachForSet(student);*/ } public void testForEachForSet(Student student){ //打印输出,学生所选的课程! System.out.println("供选择了:"+student.courses.size()); for(Course cr:student.courses){ System.out.println("选择了课程:"+cr.id+":"+cr.name); } }}
0 0
- Contains方法,查看序列中是否包含某个元素
- Freemarker判断序列中是否包含某个元素
- Freemarker判断序列中是否包含某个元素
- Freemarker判断序列中是否包含某个元素
- java中判断是否包含某个字符串 contains
- 1.2.4 List.contains方法——判断列表中是否包含指定元素
- List.contains方法——判断列表中是否包含指定元素
- Contains Duplicate 数组中是否包含重复元素
- 查看数组中是否包含某元素
- 编写js扩展方法实现判断一个数组中是否包含某个元素
- 编写js扩展方法实现判断一个数组中是否包含某个元素
- python 中如何判断list中是否包含某个元素
- Java中高效判断数组中是否包含某个元素。
- python 中如何判断list中是否包含某个元素
- python 中如何判断list中是否包含某个元素
- JS 判断数组中是否包含某个元素
- JQuery判断数组中是否包含某个元素
- 【Java】如何高效判断数组中是否包含某个元素?
- Leetcode: Merge Intervals
- 在iOS上实现一个简单的日历控件
- eclipse安装SVN报错
- 响应者链 形象的理解
- 使用css3 box-reflect设计倒影效果
- Contains方法,查看序列中是否包含某个元素
- VS2005 debug版本正常而release版本出现: ERROR LNK2005
- codeforces_675C. Money Transfers(贪心)
- javascript 操作cookie
- jdk之Interger.toString(int i, int radix)
- 基本排序算法时间复杂度
- Iwfu-安卓Gesture手势(1)-初步
- node.js 和 express 框架学习笔记(2)
- hdu 5461 Largest Point(杂题)