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 ...
随机推荐
- 【USACO 1.4.3】等差数列
[题目描述] 一个等差数列是一个能表示成a, a+b, a+2b,..., a+nb (n=0,1,2,3,...)的数列. 在这个问题中a是一个非负的整数,b是正整数.写一个程序来找出在双平方数集合 ...
- 【jquery学习笔记】关于$(window),$("html,body").scroll()的在不同浏览器的不同反应
已经很几次碰到了这种问题, 例子: $(window).scroll(function(){ var num=$(window).scrollTop(); //之前的写法是$ ...
- ext等待提示
1.Store加载信息等待 ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据:因此,我们需要给它添加一个提示信息! 但是Store却没有wai ...
- 利用Warensoft Stock Service编写高频交易软件
利用Warensoft Stock Service编写高频交易软件 无论是哪种交易软件,对于程序员来讲,最麻烦的就是去实现各种算法.本文以SAR算法的实现过程为例,为大家说明如何使用Warensoft ...
- javascript在一个字符串中每隔多少字符插入某个字符串
function insertStr(str,tar,n,m){ var x='' var str=str.split('') if(str.length==0) return for(var i=n ...
- laravel观察者模式
laravel观察者模式: 事件
- select options常用操作
1.判断select选项中 是否存在Value="value"的option元素 function jsSelectIsExitItem(objSelect,objItemValu ...
- lua curl动态链接库编译安装
关于lua curl的资料网上并不是很多.找来找去就那么几个,所以我绝得很有必要把我的经验记下来,以防下次忘记 ...
- maven3.0
Maven入门教程 1.1. 介绍.环境配置 1.1.1. Maven介绍 Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model ...
- Scut:Redis 资源管理器
核心文件是:RedisConnectionPool.cs 对象池类的通用泛型封装:ObjectPoolWithExpire<T> 1. 主要变量 private static ICache ...