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 ...
随机推荐
- jQuery图片滑动
一个非常简单实用的jQuery插件 可以用在页面的顶部广告展示 http://slidesjs.com/ 一个需要注意的问题, 就是在手机等客户端(IOS8以上), 使用此插件时, 经常会触发插件的r ...
- Centos7下Intel与AMD双显卡驱动的安装
前2天,在Nvidia单显卡上成功安装上了NVIdia的驱动,一时兴起,拿出另外的一个HP笔记本也准备装上驱动,悲催的是HP的显卡是AMD的,更加.更加悲催的是还是Intel+AMD的双显卡.网络 ...
- Spring+SpringMVC+Mybatis+MAVEN+Eclipse+项目完整环境搭建
1.新建一个Maven项目,创建父项目. 2.创建子项目模块 3.创建javaWeb项目 4.创建后的项目目录结构 5.Maven文件配置 parent父项目pom.xml文件配置 <?xml ...
- JavaScript-学习一_var
JavaScript 数据类型 字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义(Undefined). < ...
- 实验二:基于mykernel实现的时间片轮转调度
原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 如果我写的不好或者有误的地方请留言 ...
- 机器学习(4)之Logistic回归
机器学习(4)之Logistic回归 1. 算法推导 与之前学过的梯度下降等不同,Logistic回归是一类分类问题,而前者是回归问题.回归问题中,尝试预测的变量y是连续的变量,而在分类问题中,y是一 ...
- C++11原子操作性能测试
测试结论是发现C++11原子操作在性能上,比以往用到的InterlockedIncrement或__sync_add_and_fetch性能上慢了1倍左右. 另外补充一点,在对原子变量进行比较的时候, ...
- [项目构建 十四]babasport Mycat配置及使用详解.
首先我们来看下什么是Mycat:MyCat:开源分布式数据库中间件, 这里定义的很简单, 就是分布式数据库的中间件. 其实Mycat 是可以时mysql进行集群的中间件, 我们可以对mysql来分库分 ...
- 【转】HashMap和HashSet的区别
原文网址:http://www.importnew.com/6931.html HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的 ...
- Android新浪微博客户端(二)——添加多个账户及认证
原文出自:方杰| http://fangjie.info/?p=69 转载请注明出处 先看下实现效果: 欢迎界面: 第一次进入登录界面登录由于在登录界面没有已授权用户信息,所以自动跳转到授权界面. ...