Java 学习之集合框架---Set
来源:互联网 发布:jsp中如何引用js文件 编辑:程序博客网 时间:2024/05/20 08:42
Set中的元素不可以重复且没有顺序,我们通常称之为集。
Set 接口及其实现类-----HashSet(哈希集)
因为Set 是无序的并且不可以重复的所以 对于set 来说也就不可以进行修改,也就不存在使用get ()方法获取其中的元素,所以对于Set 来说,遍历一般采用的方法就死foreach循环迭代。
学生类:里面包含某一个学生的选课信息:
import java.util.HashSet;import java.util.Set;/** * 学生类 * @author ge.zhang * */public class Student {public String name;public String id;public Set<Course> crouse;public Student(String id,String name){ this.name=name; this.id=id; this.crouse=new HashSet<Course>();}}
创建Courses待选课程,通过键盘输入ID 来向学生类的SET crouse 里面添加某一位学生所选的课程。
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;import java.util.Set;public class SetTest { public static List<Course> courses=new ArrayList<Course>(); public void AddCourse(){ Course crs[]={new Course("高等数学","1"),new Course("数据机构", "2"),new Course("C语言", "3"),new Course("大学英语", "4")}; courses.addAll(Arrays.asList(crs)); } public void print(List<Course> co){ for(Course c1:co){ System.out.println(c1.id+":"+" "+c1.name); } } public void printSet(Set<Course> co){ for(Course c1:co){ System.out.println(c1.id+":"+" "+c1.name); } } public static void main(String[] args) { SetTest st=new SetTest(); st.AddCourse(); st.print(courses); Student student=new Student("1", "jack"); //循环接收学生选择的课程 System.out.println("欢迎学生"+student.name+"选课"); Scanner console=new Scanner(System.in); for(int i=0;i<3;i++){ System.out.println("请输入课程名称:"); String ID=console.next(); for(Course c2:courses){ if(c2.id.equals(ID)){ student.crouse.add(c2); } } } st.printSet(student.crouse); }}连续运行两次,会发现相同的输入却有不同的输出顺序,因为Set中的元素是无顺序的,对于set中添加相同元素无论添加多少次都只保留第一个
0 0
- Java 学习之集合框架---Set
- [学习笔记]Java集合框架之Set集合
- [学习笔记]Java集合框架之Set集合
- JAVA集合框架之set
- Java集合框架之Set
- Java集合框架之Set
- Java集合框架之set
- java学习笔记集合框架Set集合
- java基础-- 集合框架 之 Set集合
- Java集合总结之Set整体框架
- Java基础--集合框架之Set
- Java-集合框架Collection之Set(一)
- Java-集合框架Collection之Set(二)
- Java基础-集合框架之Set
- Java复习之集合框架Set接口
- JAVA集合框架之List Set接口
- 集合框架之Set
- java集合框架Set
- python pillow模块
- [LeetCode]023-Merge K Sorted Lists
- <meta name="format-detection" content="telephone=no">
- 学生信息排序(基于文件)
- 扫雷
- Java 学习之集合框架---Set
- 剑指offer,面试题一:赋值运算符函数
- 【iOS官方文档翻译】iOS的蓝牙连接、数据接收及发送
- 更改oracle字符集
- ORMLiteDatabase的简单使用并且与其他的表相互联系
- 李世民问唐僧:你成功靠的是什么?
- wayland应用程序中touch事件的实现
- 根据两点经纬度计算距离
- Codeforces Round #333 (Div. 2) A. Two Bases