`

集合框架总结

阅读更多
集合框架总结
Set  List  继承自collection类,两种都是接口,得由他们的子类去实现
Set具有无序性,即取出没有按照之前放入的顺序取出。不可重复性,一个set集合里面不能有重复的对象或值。而list则是以线性方式存储,跟队列蛮像的。可重复。

实现set接口的用法
增public Set<Student> add(Set<Student> set, String num, int score) {
//实例化学生对象
Student st = new Student(num, score);
set.add(st);
return set;
}
删public void delete(Set<Student> set, int score) {
// 实例化迭代器,把集合里的元素取出来放到另外一个集合里,在原来的集合删
//掉现在的集合!!达到remove的效果
System.out.println("移除低于" + score + "分的学生");
//是用迭代器,来取出set集合中的元素
Iterator it = set.iterator();
//set我都把它指定为只接受student类!!
//set类是接口,得由子类来实例化对象,主要有hashset等。
Set<Student> newset = new HashSet<Student>();
for (int i = 0; i < set.size(); i++) {
//如果集合还有元素
if (it.hasNext()) {
Student stu = (Student) it.next();
// 当取得的对象分数小于所要的分数,就添加到新的集合里面
if (stu.getScore() < score) {
newset.add(stu);
}
}
}
// 旧的集合移除新的集合!!只是移除集合里面的地址。
set.removeAll(newset);
}

public int change(Set<Student> set, String num, int score) {

System.out.println("改变学号为:" + num + "的学生的学分为" + score);
// 先实例化一个迭代器
Iterator it = set.iterator();
while (it.hasNext()) {
// 强制转换成学生类
Student stu = (Student) it.next();
// 根据学号取得的学生类进行设置学分!
if (stu.getNum() == num) {
stu.setScore(score);
}
}
return score;
}

List接口的用法
List需用子类来实现:常用的子类有ArrayList和Vector
增:public List<Student> add(List<Student> list, String num, int score) {
Student st = new Student(num, score);
list.add(st);
return list;
}
public void delete(List<Student> list, int score) {
// 实例化迭代器,把集合里的元素取出来放到另外一个集合里,在原来的集合删、//掉现在的集合!!达到remove的效果
System.out.println("移除低于" + score + "分的学生");
for (int i = 0; i < list.size(); ) {
Student stu = list.get(i);
//注意,当移除了一个元素之后,链表就直接少了一个,同样的索引值现在是后一个往前移,所以就不用i++,如果没有移除,就执行i++
if(stu.getScore()<score){
list.remove(i);
}else{
i++;
}
}
}
改:public int change(List<Student> list, String num, int score) {
// 先实例化一个迭代器
System.out.println("改变学号为:" + num + "的学生的学分为" + score);
Iterator it = list.iterator();
while (it.hasNext()) {
// 强制转换成学生类
Student stu = (Student) it.next();
// 根据学号取得的学生类进行设置学分!
if (stu.getNum() == num) {
stu.setScore(score);

}
}
return score;
}
Map接口(映射)
Key值与value值相对应,比如学号与学生对象,ip地址与主机名等
常用子类有HashMap 和HashTable,map中的key值不能重复,但value可以重复
有以下方法
V put(K key, V value)将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当 m.containsKey(k) 返回 true 时,才能说映射 m 包含键 k 的映射关系)。
remove
V remove(Object key)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。更确切地讲,如果此映射包含从满足 (key==null ? k==null :key.equals(k)) 的键 k 到值 v 的映射关系,则移除该映射关系。(该映射最多只能包含一个这样的映射关系。)
get
V get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
使用实例
遍历map的key值
public void print(Map<String ,Student>map){
//先把map的key全集合在一个set集合里面
Set<String> set = map.keySet();
//是用迭代器一个个取出
Iterator it = set.iterator();
while(it.hasNext()){
String s=(String) it .next();
//通过map的get方法,来返回value值,并付给stu对象
Student stu = map.get(s);
stu.show();
}
}
分享到:
评论

相关推荐

    Java集合框架总结

    Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结

    集合框架总结图

    该集合框架总结图 非常全面的将集合框架知识总结的清清楚楚。条理清晰。 对于集合框架不清晰的学者非常有用。

    java集合框架总结

    超详细的关于java 集合框架的总结!

    JAVA集合框架学习总结

    本文档为本人学习 java 集合框架期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!

    Collection集合框架总结以及遍历方法

    总结集合框架需要实现哪些方法,以及集合的遍历方法JDK8.0以下的遍历方法

    Java集合框架使用总结

    Java集合框架使用总结 前言: 本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档。 一、概述 数据结构对程序设计...

    集合框架的总结

    集合的总结,集合的框架的介绍和父类子类之间关系以及

    集合框架大总结.xmind

    集合框架大总结.xmind

    corejava集合框架学习总结.pdf

    (六)集合框架学习总结.pdfcorejava集合框架学习总结.pdfcorejava集合框架学习总结.pdfcorejava集合框架学习总结.pdfcorejava集合框架学习总结.pdfcorejava集合框架学习总结.pdfcorejava集合框架学习总结.pdf

    Java复习之集合框架总结

    本篇文章主要介绍了Java复习之集合框架总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    集合框架.xmind

    超详细的集合框架总结,用法,比较,一网打尽java集合内容!超详细得集合框架知识图谱,如果你下载你会感觉超值

    JAVA集合框架学习思考+总结

    JAVA集合框架,java框架总结,java集合框架,java集合框架学习,java集合框架类

    day20(集合框架)教案.doc

    java集合框架的知识总结,内含代码讲解,知识点概括,带你更好理解java集合框架。。。。像Map集合的概念,遍历方式等

    Java容器框架 collection集合

    java集合框架总结 Collection体系结构 ArrayList源码解读 HashMap HashSet 深入讲解java集合框架

    集合框架面试题

    该文档总结了Java集合部分的相关集合框架部分的面试题。

Global site tag (gtag.js) - Google Analytics