- 浏览: 18317 次
- 性别:
- 来自: 湖南常德
最新评论
java集合框架总结
主要由以下三部分组成:
Set接口及其子类 : 不允许重复的对象(对每个对象只接受一次),是一个无序的集合
List接口及其子类 :按输入的顺序存储对象(所以允许重复的对象),是一个有序的集合
Map接口及其子类 :Map集合中的数据是拥有映射关系的
Set和List继承自Collection接口,Map不是
Set接口:
Set的常用实现类:HashSet,TreeSet,LinkedHashset
Set使用实列,
/**
* 创建
*/
public Set<Student> creatInformation(int userCount) {
// 创建一个集合对象
Set set = new HashSet();
Random rand = new Random();
for (int i = 0; i < userCount; i++) {
String name = "学生-" + (char) (65 + i);
Student ui = new Student(name, rand.nextInt(100));
//使用添加的方法,见对象添加到set中
set.add(ui);
}
return set;
}
/**
* 根据要求找出学生
*/
public void findStudent(Set<Student> set, int grade) {
Student stu = new Student();
// 因为Set是无序的,所以我们要使用迭代器,对Set进行查找
Iterator<Student> it = set.iterator();
System.out.println("<---------------优秀学生成绩--------------->");
// 遍历
while (it.hasNext()) {
stu = it.next();
// 判断是否满足要求
if (stu.getGrade() >= grade) {
System.out.println(stu.toString());
}
}
}
/**
* 根据要求删除不合要求的学生信息
*
* @param set
* @param grade
*/
public void deleteStudent(Set<Student> set, int grade) {
// 新的Set集合,迎来存放不合格的学生对象
Student stu = new Student();
Set<Student> ns = new HashSet();
Iterator<Student> it = set.iterator();
while (it.hasNext()) {
stu = it.next();
if (stu.getGrade() < grade) {
ns.add(stu);
}
}
//删除学生的方法
set.remove(ns);
}
List接口:
常用实现类:ArrayList,LinkedList
使用List进行信息的增删等操作和Set类似,只是List中不需要迭代器,只需要循环就可以。
Map接口:
常用实现类:HashMap,Hashtable
Map中每个对象都有与其一一对应的名字(键),可以通过键查找值
// 创建Map的方法
public Map<String, Student> creatInformation(int size) {
//
Map map = new HashMap<String, Student>();
Random rand = new Random();
for (int i = 0; i < size; i++) {
String name = "学生_" + (char) (65 + i);
Student stu = new Student("20111209" + i, name, rand.nextInt(100));
map.put(stu.getNO(), name);
}
return map;
}
/**
* 找出相应学生
*
* @param map
* @param grade
*/
public void findInformatuion(Map<String, Student> map, int grade) {
Set<String> set = map.keySet();
// 使用迭代器,
Iterator<String> it = set.iterator();
// 遍历找出符合要求的学生
while (it.hasNext()) {
// 得到下一个元素,key值
String no = it.next();
// 由学号获取
Student stu = map.get(no);
if (stu.getGrade() >= grade) {
System.out.println(stu.toString());
}
}
}
/**
* 删除不合格学生
*
* @param map
* @param grade
*/
public void deleteInformation(Map<String, Student> map, int grade) {
Set<String> ns = new HashSet();
// 获取key的set集合
Set<String> set = map.keySet();
// 迭代器
Iterator<String> it = set.iterator();
//
while (it.hasNext()) {
String no = it.next();
Student stu = map.get(no);
// 将不和要求的key放入set集合
if (stu.getGrade() < grade) {
ns.add(no);
}
}
map.remove(ns);
}
发表评论
-
git入门
2015-02-11 11:02 0git入门 -
JVM内存结构浅谈
2013-05-19 14:47 659Java程序的运行过程: ... -
菜鸟入门之网页数据抓取
2013-05-04 21:53 5527有时候需要从网页上获取数据,比如别一些网页上的新闻获取到放 ... -
动态编译
2013-03-01 22:33 584前几天谈论了关于动 ... -
位映射
2013-03-01 22:33 917前些天讨论了位映射的内容,一个具体的例子就对于M个int ... -
线程同步
2013-03-01 22:34 7131,为什么要有线程同 ... -
生产消费模型
2013-03-01 22:34 678当遇到一个线程要产生数据而另一个线程要处理数据时,这就是生 ... -
设计模式之单例模式
2012-12-02 23:02 0单例模式又叫单台模式或者单例模式 -
数据结构之Hash
2012-11-19 21:45 858数据结构之hash 首先介绍两种非常重要的数据结构。数组,为 ... -
数据结构之Hash
2012-11-18 14:47 0数据结构之hash 首先介 ... -
网络通信总结
2012-10-28 15:33 820网络通信:一句话说,用网络传输数据(各种数据) 。进行通讯那 ... -
哈弗曼压缩
2012-08-03 11:43 668一、哈弗曼树,又称最优树,是一种带权路径长度最短的树。 ... -
链表总结
2012-08-03 11:43 785首先,链表是一种顺 ... -
线程及线程应用总结
2012-08-03 11:44 729一、什么是线程 每个java程序都至少有一个线程 ... -
树二叉树总结
2012-08-03 11:45 835一、数的相关 节点: 节点是树的基本组成单 ... -
I/O体系结构总结
2012-07-16 21:22 883I/O体系结构总结 流的概念和分类: ... -
File相关类总结
2012-07-16 21:22 892File是java中的与文件相关的类,可以对进行创建、删 ... -
java异常机制
2012-07-11 13:01 691JAVA异常机制 一、异常的基本概念 简单的说 ... -
总结20120705
2012-07-05 10:07 650一、类与对象 1. ... -
java关键字总结
2012-05-20 13:31 705常用关键字: 访问修饰符关键字: public: 是最为公 ...
相关推荐
xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...
Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结
Java集合框架详解Java集合框架详解Java集合框架详解
java集合框架图java集合框架图java集合框架图java集合框架图java集合框架图
内含大量java集合框架方面常被面试官问到的经典面试题。
集合是将多个元素组成一个单元的...Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了Java集合框架位于java.util包中
本文档为本人学习 java 集合框架期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!
6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6....
JAVA学习 Java集合框架.ppt
学习Java集合框架的讲义、笔记,希望大家多提意见。时间关系没有Collections,Arrays的内容,以后补上!
学生通过学习方法描述和应用,可以逐步理解并有效地使用数据结构,还可以了解这些数据结构的多种实现,包括在Java集合框架中提供的一些实现。 本书内容非常丰富,且在每章章尾提供编程项目,以帮助学生提高实践能力...
Java集合框架,set、list接口及其子集,接口的继承关系
Java集合框架使用总结 前言: 本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档。 一、概述 数据结构对程序设计...
java集合框架
一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合框架练习 一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合框架练习 一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合...
List set ArraryList Map java集合框架笔记 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用
数据结构和Java集合框架,国外经典教材,开发必备
Java集合框架常见面试题.pdf
Java集合框架概述 Java集合框架是一个抽象数据类型的框架,它提供了一组接口和类,可用于处理各种类型的数据结构,如列表、队列、集、映射等。 Java集合框架的主要特点是: 1、可扩展性:Java集合框架提供了一组可...