首页 > 代码库 > Java集合框架1
Java集合框架1
1.顺序表(ArrayList)使用示例
例1. ArrayList使用示例。
package set;import java.util.*;import java.io.*;public class demoArrayList { public static void main(String[] args) { ArrayList<String> stu = new ArrayList<String>(); Scanner in = new Scanner(System.in); System.out.println("请输入学生的姓名,空行表示结束!"); String name; boolean goon = true; while(goon){ name = in.nextLine(); if(name.length()>0){ stu.add(name); System.out.println("添加成功:"+name); }else goon = false; } goon = true; System.out.println("请输入要删除的学生的姓名,空行表示结束!"); while(goon){ name = in.nextLine(); if(name.length()>0){ stu.remove(name); System.out.println("删除成功:"+name); }else goon = false; } System.out.println("剩下的学生姓名如下:"); for(String stuName:stu) System.out.println(stuName); in.close(); }}
2.链表(LinkedList)使用示例
例2. 猴子选大王。
package set;import java.util.*;public class monkey { public static void main(String[] args) { LinkedList<Integer> monkeys = new LinkedList<Integer>(); int number,cnt; for(number=1;number<=100;number++) monkeys.addLast(number); number = 0; cnt = 100; Iterator it = monkeys.iterator(); while(cnt>1){ if(it.hasNext()){ number++; it.next(); }else it = monkeys.iterator(); if(number == 14){ number = 0; it.remove(); cnt--; } } System.out.println("大王编号为:"+monkeys.element()); }}
程序运行结果如下:
大王编号为:92
3. 优先队列(PriorityQueue)使用示例
例3. 模拟操作系统的进程调度。
package set;public class job { private int number; //存放作业编号 private int spend; //存放作业所需时间 public job(int number, int spend) { this.number = number; this.spend = spend; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public int getSpend() { return spend; } public void setSpend(int spend) { this.spend = spend; }}
package set;import java.util.*;public class myCompare implements Comparator<job> { public int compare(job o1, job o2) { if(o1.getSpend()>o2.getSpend()) return 1; if(o1.getSpend()<o2.getSpend()) return -1; return 0; } public boolean equals(Object obj){ return super.equals(obj); }}
package set;import java.util.*;import java.io.*;public class scheduling { public static void main(String[] args) { Scanner in = new Scanner(System.in); myCompare mycom = new myCompare(); PriorityQueue<job> priQue = new PriorityQueue<job>(20,mycom); System.out.println("请依次输入作业所需时间,0表示结束"); boolean goon = true; int time; for(int cnt=1;goon;cnt++){ System.out.print("作业"+cnt+"所需时间为:"); time = in.nextInt(); if(time>0) priQue.add(new job(cnt,time)); else goon = false; } System.out.println("作业调度的顺序为:"); while(priQue.size()>0){ job jb = priQue.poll(); System.out.println("作业编号:"+jb.getNumber()+" 所需运行时间:"+jb.getSpend()); } }}
程序运行结果如下:
请依次输入作业所需时间,0表示结束作业1所需时间为:156作业2所需时间为:92作业3所需时间为:41作业4所需时间为:285作业5所需时间为:77作业6所需时间为:869作业7所需时间为:12作业8所需时间为:326作业9所需时间为:1作业10所需时间为:99作业11所需时间为:0作业调度的顺序为:作业编号:9 所需运行时间:1作业编号:7 所需运行时间:12作业编号:3 所需运行时间:41作业编号:5 所需运行时间:77作业编号:2 所需运行时间:92作业编号:10 所需运行时间:99作业编号:1 所需运行时间:156作业编号:4 所需运行时间:285作业编号:8 所需运行时间:326作业编号:6 所需运行时间:869
4. 哈希集合(HashSet)使用示例
例4. HashSet使用示例。
package set;import java.util.*;import java.io.*;public class demoHashSet { public static void main(String[] args) { HashSet<String> stu = new HashSet<String>(); Scanner in = new Scanner(System.in); System.out.println("请输入学生的姓名,空行表示结束!"); String name; boolean goon = true; while(goon){ name = in.nextLine(); if(name.length()>0) if(stu.add(name)) System.out.println("学生添加成功:"+name); else System.out.println("学生添加失败:"+name); else goon = false; } goon = true; System.out.println("请输入要删除的学生姓名,空行表示结束!"); while(goon){ name = in.nextLine(); if(name.length()>0) if(stu.remove(name)) System.out.println("学生删除成功:"+name); else System.out.println("学生删除失败:"+name); else goon = false; } System.out.println("剩余的学生姓名如下:"); for(String stuName : stu) System.out.println(stuName);
in.close(); }}
程序运行结果如下:
请输入学生的姓名,空行表示结束!张三学生添加成功:张三李四学生添加成功:李四王五学生添加成功:王五赵六学生添加成功:赵六孙七学生添加成功:孙七郑八学生添加成功:郑八请输入要删除的学生姓名,空行表示结束!王五学生删除成功:王五郑八学生删除成功:郑八剩余的学生姓名如下:赵六孙七张三李四
5. 哈希映射(HashMap)使用示例
例5. 哈希映射使用示例。
package set;import java.util.*;import java.io.*;public class demoHashMap { public static void main(String[] args) { HashMap<String,Integer> stu = new HashMap<String,Integer>(); Scanner in = new Scanner(System.in); System.out.println("请依次输入学生的姓名和成绩,空行表示结束"); String name; Integer score; boolean goon = true; while(goon){ System.out.println("请输入学生的姓名:"); name = in.nextLine(); if(name.length()>0){ System.out.println("请输入学生的成绩:"); score = new Integer(in.nextLine()); stu.put(name, score); }else goon = false; } goon = true; System.out.println("请输入要查找学生的姓名,空行表示结束"); while(goon){ System.out.println("学生姓名:"); name = in.nextLine(); if(name.length()>0){ score = stu.get(name); if(score!=null) System.out.println(name+"成绩为:"+score); else System.out.println("要查找的人不存在"); } else goon = false; } in.close(); }}
程序运行结果如下:
请依次输入学生的姓名和成绩,空行表示结束请输入学生的姓名:张三请输入学生的成绩:90请输入学生的姓名:李四请输入学生的成绩:80请输入学生的姓名:请输入要查找学生的姓名,空行表示结束学生姓名:张三张三成绩为:90学生姓名:王五要查找的人不存在学生姓名:
6. 有序树(TreeSet)使用示例
例6. TreeSet使用示例。
package set;public class Student { private String name; private int score; public Student(String name, int score) { this.name = name; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getScore() { return score; } public void setScore(int score) { this.score = score; }}
package set;import java.util.*;public class CompareScore implements Comparator<Student> { public int compare(Student o1, Student o2) { if(o1.getScore()<o2.getScore()) return 1; if(o1.getScore()>o2.getScore()) return -1; return 0; } public boolean equals(Object obj){ return super.equals(obj); }}
import java.io.*;public class demoTreeSet { public static void main(String[] args) { Scanner in = new Scanner(System.in); CompareScore com = new CompareScore(); TreeSet stu = new TreeSet(com); System.out.println("请依次输入学生的姓名和成绩,空行表示结束!"); String name; Integer score; boolean goon = true; while(goon){ System.out.println("请输入学生的姓名:"); name = in.nextLine(); if(name.length()>0){ System.out.println("请输入学生的成绩:"); score = new Integer(in.nextLine()); if(stu.add(new Student(name,score))) System.out.println("学生添加成功:"+name); else System.out.println("学生添加失败:"+name); } else goon = false; } in.close(); System.out.println("学生成绩按降序排序为:"); Iterator it = stu.iterator(); Student s; while(it.hasNext()){ s = (Student)it.next(); System.out.println("姓名:"+s.getName()+" 成绩:"+s.getScore()); } }}
程序运行结果如下:
请依次输入学生的姓名和成绩,空行表示结束!请输入学生的姓名:张丽请输入学生的成绩:78学生添加成功:张丽请输入学生的姓名:王杰请输入学生的成绩:88学生添加成功:王杰请输入学生的姓名:唐勇请输入学生的成绩:65学生添加成功:唐勇请输入学生的姓名:叶文请输入学生的成绩:92学生添加成功:叶文请输入学生的姓名:学生成绩按降序排序为:姓名:叶文 成绩:92姓名:王杰 成绩:88姓名:张丽 成绩:78姓名:唐勇 成绩:65
7. 有序树映射类(TreeMap)使用示例
例7. TreeMap使用示例。
package set;import java.util.*;import java.io.*;public class demoTreeMap { public static void main(String[] args) { TreeMap stu = new TreeMap(); Scanner in = new Scanner(System.in); System.out.println("请依次输入学生的姓名和成绩,空行表示结束!"); String name; Integer score; boolean goon = true; while(goon){ System.out.println("请输入学生的姓名:"); name = in.nextLine(); if(name.length()>0){ System.out.println("请输入"+name+"的成绩:"); score = new Integer(in.nextLine()); stu.put(name, score); }else goon = false; } goon = true; System.out.println("请输入要查找的学生姓名,空行表示结束!"); while(goon){ name = in.nextLine(); if(name.length()>0){ score = (Integer) stu.get(name); if(score != null) System.out.println("姓名:"+name+" 成绩:"+score); else System.out.println("没有找到学生:"+name); }else goon = false; } in.close(); }}
程序运行解过如下:
请依次输入学生的姓名和成绩,空行表示结束!请输入学生的姓名:王长喜请输入王长喜的成绩:85请输入学生的姓名:张丽请输入张丽的成绩:91请输入学生的姓名:王杰请输入王杰的成绩:75请输入学生的姓名:请输入要查找的学生姓名,空行表示结束!王杰姓名:王杰 成绩:75
Java集合框架1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。