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的更多相关文章

  1. Java 集合框架 02

    集合框架· LinkedList 和 泛型 去除ArrayList中重复字符串元素 * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(相同内容的字符串) * 思路:创建新集合方式 ...

  2. java集合框架02——Collection架构与源码分析

    Collection是一个接口,它主要的两个分支是List和Set.如下图所示: List和Set都是接口,它们继承与Collection.List是有序的队列,可以用重复的元素:而Set是数学概念中 ...

  3. 20180826(02)-Java集合框架

    Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack, 和Properties这些类用来存储和操作对象组. 虽然这些类都非常有用 ...

  4. Java 集合系列 02 Collection架构

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  5. Java集合框架Collection

    转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...

  6. Java集合框架之四大接口、常用实现类

    Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...

  7. 我所理解Java集合框架的部分的使用(Collection和Map)

    所谓集合,就是和数组类似——一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接 ...

  8. 【转载】Java 集合框架

    http://wangkuiwu.github.io/2012/02/03/collection-03-arraylist/ 网上比较全的Java集合框架教程. 注:transient是Java语言的 ...

  9. Java集合框架之Vector浅析

    Java集合框架之Vector浅析 一.Vector概述: 位于java.util包下的Vector是Java集合框架的重要一员,虽然没有ArrayList那么的常用,但是我们还要对其做相关学习: 1 ...

随机推荐

  1. Firefox中Vimperator插件配置

    具体配置什么,同学们可以网上看下善用佳软关于Vimperator的说明,在这里我列出两条我个人觉得最有用的命令 set nextpattern=\s*下一页|下一张|下一篇|下页|后页\s*,^\bn ...

  2. javascript关于原型的深刻理解

    Javascript继承机制的设计思想   作者: 阮一峰 日期: 2011年6月 5日 我一直很难理解Javascript语言的继承机制. 它没有"子类"和"父类&qu ...

  3. 无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”。请改用适用的接口。

    引用里找到Microsoft.Office.Interop.Word右键属性 在嵌入互操作类型里,选上False就行了.

  4. javascript写的ajax请求

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  5. Websocket 与代理服务器如何交互? How HTML5 Web Sockets Interact With Proxy Servers

    How HTML5 Web Sockets Interact With Proxy Servers Posted by Peter Lubberson Mar 16, 2010 With the re ...

  6. django自带User管理中添加自己的字段方法

    #coding=utf-8 from django.db import models from django.contrib.auth.models import User, make_passwor ...

  7. Spring事务管理中@Transactional的参数配置

    Spring作为低侵入的Java EE框架之一,能够很好地与其他框架进行整合,其中Spring与Hibernate的整合实现的事务管理是常用的一种功能. 所谓事务,就必须具备ACID特性,即原子性.一 ...

  8. 《30天自制操作系统》读书笔记(2)hello, world

    让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实 ...

  9. Fireworks Extension —— AutoSlice 介绍

    前不久在网上到处瞎晃的时候,发现Adobe的软件几乎都可以写插件.Fireworks更是很早的版本就支持使用javascript编写插件,于是乎如入桃园,奋斗几日为VD小伙伴们写了一个插件,命名Aut ...

  10. MVC4 教程

    http://blog.csdn.net/huangjihua0402/article/details/8507055 http://www.cnblogs.com/lc-chenlong/p/324 ...