java集合框架02
public class ListTest {
public static void main(String[] args) {
//创建几个新闻对象
News news1=new News(1, "新闻1");
News news2=new News(2, "新闻2");
News news3=new News(3, "新闻3");
//创建一个List集合
List list=new ArrayList(); //现在 集合中存放的Object
list.add(1);
list.add("abc");
list.add(news1);
//遍历集合
for (Object object : list) {
System.out.println(object);
}
System.out.println("**************************");
/*
* 现在 我只想存放 News 新闻
* 泛型集合
* 在创建集合的时候,就已经规定了 集合中允许存放的类型!
* 如果后续进行新增操作时候,插入了类型不一致的数据,会编译报错!
*/
List<News> news=new ArrayList<News>(); //new ArrayList();
//news.add(1); 编译报错
//news.add(null); 可以存放 Null
news.add(news1);
news.add(news2);
news.add(news3);
System.out.println("集合的大小:"+news.size()); //4
//遍历
for (News n : news) {
System.out.println(n.getTitle()); //不需要强制类型转化 直接输出
}
System.out.println("***********************");
//List <int> i=new ArrayList(); 不能使用基本数据类型
List<Integer> i=new ArrayList(); //对应类型的封装类
List<String> s=new ArrayList(); //只能存放String类型
}
}
Map的泛型集合
创建Student实体类
public class Student {
private Integer studentNo; //学生的编号 是唯一的
private String name;
private Integer age;
private String sex;
@Override
public String toString() {
return "Student [studentNo=" + studentNo + ", name=" + name + ", age="
+ age + ", sex=" + sex + "]";
}
public Student() {
super();
}
public Student(Integer studentNo, String name, Integer age, String sex) {
super();
this.studentNo = studentNo;
this.name = name;
this.age = age;
this.sex = sex;
}
public Integer getStudentNo() {
return studentNo;
}
public void setStudentNo(Integer studentNo) {
this.studentNo = studentNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
创建测试类
public class MapTest {
public static void main(String[] args) {
/*
* 创建一个Map的泛型集合
* 之前
* Map map=new HashMap();
* key和value全都是 Object类型
*/
Map m=new HashMap();
m.put(1, 2);
m.put("1","2");
m.put(1.0, 2.0);
System.out.println("map集合的大小:"+m.size()); //
System.out.println("************************************");
//创建几个新闻对象
Student stu1=new Student(1, "奥黑驴1", 1000, "女");
Student stu2=new Student(2, "奥黑驴2", 10000, "女");
Student stu3=new Student(3, "奥黑驴3", 1000, "女");
//泛型集合 key只能是Integer
Map<Integer,Student> map=new HashMap<Integer, Student>();
//map.put(1, 1); 默认装箱操作 int基本数据类型转换成Interge封装类
map.put(stu1.getStudentNo(), stu1);
map.put(stu2.getStudentNo(), stu2);
map.put(stu3.getStudentNo(), stu3);
//遍历之前获取keySet
Set<Integer> keySet = map.keySet();
//01. for加强
for (Integer key : keySet) {
//根据key取得对应的Student对象
System.out.println(map.get(key));
}
System.out.println("***************************");
//02. iterator
Iterator<Integer> it = keySet.iterator();
while (it.hasNext()) {
/*Integer key=it.next();
map.get(key);*/
System.out.println(map.get(it.next()));
}
System.out.println("***************************");
/*
* 03. entrySet() 同时可以获取 key和value
* 之前都是先获取key 之后拿key取得value
*/
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry entry = (Entry) iterator.next();
System.out.println("map的key===>"+entry.getKey());
System.out.println("map的value===>"+entry.getValue());
}
}
}
java集合框架02的更多相关文章
- Java 集合框架 02
集合框架· LinkedList 和 泛型 去除ArrayList中重复字符串元素 * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(相同内容的字符串) * 思路:创建新集合方式 ...
- java集合框架02——Collection架构与源码分析
Collection是一个接口,它主要的两个分支是List和Set.如下图所示: List和Set都是接口,它们继承与Collection.List是有序的队列,可以用重复的元素:而Set是数学概念中 ...
- 20180826(02)-Java集合框架
Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack, 和Properties这些类用来存储和操作对象组. 虽然这些类都非常有用 ...
- Java 集合系列 02 Collection架构
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java集合框架Collection
转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...
- Java集合框架之四大接口、常用实现类
Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...
- 我所理解Java集合框架的部分的使用(Collection和Map)
所谓集合,就是和数组类似——一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接 ...
- 【转载】Java 集合框架
http://wangkuiwu.github.io/2012/02/03/collection-03-arraylist/ 网上比较全的Java集合框架教程. 注:transient是Java语言的 ...
- Java集合框架之Vector浅析
Java集合框架之Vector浅析 一.Vector概述: 位于java.util包下的Vector是Java集合框架的重要一员,虽然没有ArrayList那么的常用,但是我们还要对其做相关学习: 1 ...
随机推荐
- js实现输入验证码
html部分: <div> <input type="text" id="input" /> <input type=" ...
- 在linux下将当前目录文件全部小写含目录名
ls | sed -n '/[A-Z]/s/.*/mv & \L&/e' 公司以前用的windows server 服务器 文件大小写都一样. 新迁移到centos 服务器上,发现 ...
- JQuery学习笔记--01
JQuery使用的话,必做的一下件事就是下载JQuery库,才可以使用下载地址:http://jquery.com/ 下面就是引用JQuery库了: <script type="tex ...
- Codeforces 301_div.2_Ice Cave(BFS走冰块)
Ice Cave Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Descripti ...
- log4j.propertise配置文件
# level : 是日志记录的优先级,分为OFF.FATAL.ERROR.WARN.INFO.DEBUG.ALL或者您定义的级别.Log4j建议只使用四个级别,优先级从高到低分别是ERROR.WAR ...
- Web前端开发人员和设计师必读文章推荐
推荐一个很好的学习资源: Web前端开发人员和设计师必读文章推荐[系列一] Web前端开发人员和设计师必读文章推荐[系列二] Web前端开发人员和设计师必读文章推荐[系列三] Web前端开发人员和设计 ...
- Java 保留两位小数
在实际项目开发中,经常会存在浮点数四舍五入保留几位小数的问题,故收集了几种常用方法: 直接上代码(保留两位小数). Format.java: import java.math.BigDecimal; ...
- Hadoop 日志分析。
http://www.ibm.com/developerworks/cn/java/java-lo-mapreduce/
- POJ2242 The Circumference of the Circle(几何)
题目链接. 题目大意: 给定三个点,即一个任意三角形,求外接圆的周长. 分析: 外接圆的半径可以通过公式求得(2*r = a/sinA = b/sinB = c/sinC),然后直接求周长. 注意: ...
- COJN 0584 800603吃糖果
800603吃糖果 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名( ...