Java 集合框架Example-Set
2016-09-06 17:04
344 查看
Set 无get()方法
案例:
提供备选课程
创建学生对象,并给该学生添加三门课程(添加在学生的courses----Set类型的属性中)
显示备选课程
循环三次,每次输入课程ID
往学生的courses属性中添加与输入的ID匹配的课程
输出学生选择的课程
Set中,添加某个对象,无论添加多少次,最终只会保留一个该对象,并且,保留的是第一次添加的那一个
Set中可添加NULL对象
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class SetTest {
public List<Course> coursesToSelect;
public SetTest(){
coursesToSelect =new ArrayList<Course>();
}
public void testAdd(){
/*
* 创建一个课程对象,并通过调用add,添加list中
*/
Course cr1=new Course("1"," 数据结构");
coursesToSelect.add(cr1);
//Course temp=(Course) coursesToSelect.get(0);
//System.out.println("添加了:"+temp.id+temp.name);
Course cr2= new Course("2"," C language");
coursesToSelect.add(1,cr2);
//Course temp2=(Course) coursesToSelect.get(0);
//System.out.println("添加了:"+ temp2.id+temp2.name);
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(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);
}
public void testForEach(){
for (Course cr:coursesToSelect){
System.out.println("课程: "+cr.id+":"+cr.name);
}
}
public static void main(String[] args) {
SetTest st=new SetTest();
st.testAdd();
st.testForEach();
/*
* 创建学生对象
*/
Student student=new Student("1", "Vivian");
System.out.println("欢迎学生: "+student.name+"选课");
//创建一个Scanner对象,用来接受从键盘输入的课程ID
Scanner input=new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("请输入字符ID:");
String courseid=input.next();
for(Course cr:st.coursesToSelect){
if(cr.id.equals(courseid)){
student.courses.add(cr);
}
}
}
st.testForEachForSet(student);
}
public void testForEachForSet(Student student){
//打印输出,学生所选课程
for(Course cr:student.courses){
System.out.println("选择了课程:"+ cr.id+cr.name);
}
}
案例:
提供备选课程
创建学生对象,并给该学生添加三门课程(添加在学生的courses----Set类型的属性中)
显示备选课程
循环三次,每次输入课程ID
往学生的courses属性中添加与输入的ID匹配的课程
输出学生选择的课程
Set中,添加某个对象,无论添加多少次,最终只会保留一个该对象,并且,保留的是第一次添加的那一个
Set中可添加NULL对象
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class SetTest {
public List<Course> coursesToSelect;
public SetTest(){
coursesToSelect =new ArrayList<Course>();
}
public void testAdd(){
/*
* 创建一个课程对象,并通过调用add,添加list中
*/
Course cr1=new Course("1"," 数据结构");
coursesToSelect.add(cr1);
//Course temp=(Course) coursesToSelect.get(0);
//System.out.println("添加了:"+temp.id+temp.name);
Course cr2= new Course("2"," C language");
coursesToSelect.add(1,cr2);
//Course temp2=(Course) coursesToSelect.get(0);
//System.out.println("添加了:"+ temp2.id+temp2.name);
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(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);
}
public void testForEach(){
for (Course cr:coursesToSelect){
System.out.println("课程: "+cr.id+":"+cr.name);
}
}
public static void main(String[] args) {
SetTest st=new SetTest();
st.testAdd();
st.testForEach();
/*
* 创建学生对象
*/
Student student=new Student("1", "Vivian");
System.out.println("欢迎学生: "+student.name+"选课");
//创建一个Scanner对象,用来接受从键盘输入的课程ID
Scanner input=new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("请输入字符ID:");
String courseid=input.next();
for(Course cr:st.coursesToSelect){
if(cr.id.equals(courseid)){
student.courses.add(cr);
}
}
}
st.testForEachForSet(student);
}
public void testForEachForSet(Student student){
//打印输出,学生所选课程
for(Course cr:student.courses){
System.out.println("选择了课程:"+ cr.id+cr.name);
}
}
相关文章推荐
- java学习笔记:集合框架之TreeSet
- java基础-- 集合框架 之 Set集合
- 黑马程序员_java_集合框架_Collection_List_Set_Map_泛型
- 十六、Java基础---------集合框架之Set
- Java基础 集合框架 共性方法 迭代器 ArrayList LinkedList Vector HashSet TreeSet
- 黑马程序员——java基础拾遗之集合框架(一) List 和 Set
- Map、Set、Iterator迭代详解与Java平台的集合框架
- 黑马程序员 java基础 集合框架之Set
- [Java基础] 持有对象(集合框架)-Set-TreeSet
- java基础集合框架——List、Set、Map概述(java集合一)
- 黑马程序员_JAVA学习日记_JAVA中API:集合框架1(Collection,List,Set及其子类和迭代器的应用)
- java中的集合框架Set 、List 、Map
- Map、Set、Iterator迭代详解与Java平台的集合框架
- 黑马程序员--java基础--集合框架Set,集合框架map
- Map、Set、Iterator迭代详解与Java平台的集合框架
- java学习笔记:集合框架之TreeSet
- Java框架集合-Set(HashSet)
- 黑马程序员java学习—集合框架List和Set
- Java基础--集合框架之Set
- Java基础(集合框架——Collection、List、Set、泛型)