集合框架总结
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编程中,集合框架(Collections Framework)是处理数据的重要工具集,它提供了一系列接口和类来存储、操作和检索不同类型的元素。本文将深入解析Java集合框架的关键知识点,涵盖其核心...
本文档为本人学习 java 集合框架期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!
总结集合框架需要实现哪些方法,以及集合的遍历方法JDK8.0以下的遍历方法
### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...
集合的总结,集合的框架的介绍和父类子类之间关系以及
集合框架大总结.xmind
超详细的集合框架总结,用法,比较,一网打尽java集合内容!超详细得集合框架知识图谱,如果你下载你会感觉超值
总结来说,Java集合框架为开发者提供了丰富的数据结构选择,能够适应各种场景下的数据处理需求。理解并熟练使用这些接口和类,对于提高代码的效率和可维护性至关重要。在实际开发中,根据具体需求选择合适的容器类型...
Java集合框架是Java编程语言中用于存储和管理对象的核心组件,它提供了一组高效、灵活的数据结构和操作这些数据结构的方法。本篇文章将深入探讨Java集合框架的主要概念、设计原则以及常用的集合类。 首先,为什么...
JAVA集合框架,java框架总结,java集合框架,java集合框架学习,java集合框架类
总结,Java集合框架为开发者提供了强大的数据管理能力。理解和熟练运用集合框架,不仅可以提升代码质量,也能在面对复杂问题时游刃有余。无论是基础的增删查改,还是高级的并发控制、性能优化,都离不开对集合框架的...
java集合框架的知识总结,内含代码讲解,知识点概括,带你更好理解java集合框架。。。。像Map集合的概念,遍历方式等