2018. 2.4 Java中集合嵌套集合的练习
创建学生类有姓名学校和年龄 覆盖toString()
1、创建三个学生对象,放到集合ArrayList
2、输出第2名学生的信息
3、删除第1个学生对象
4、在第2个位置插入1个新学生信息
5、判断刘德华这个学生是否存在 存在就打出来,
6、输出全部学生信息 直接打印对象
7、删除所有的学生
package com.glut.demo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
*
* 创建学生类有姓名学校和年龄 覆盖toString()
1、创建三个学生对象,放到集合ArrayList
2、输出第2名学生的信息
3、删除第1个学生对象
4、在第2个位置插入1个新学生信息
5、判断刘德华这个学生是否存在 存在就打出来,
6、输出全部学生信息 直接打印对象
7、删除所有的学生
* @author qichunlin
*
*/
public class Test {
public static void main(String[] args) {
List list = new ArrayList();
//将对象放入到集合类中
list.add(new Student("小明",15));
list.add(new Student("小黄",20));
list.add(new Student("小林",21));
//输出集合里面指定的对象 用get方法
System.out.println("输出集合里面的第二个对象:\n"+list.get(1));
//删除第一个对象
list.remove(0);//小明这个对象被删掉了
Iterator it = list.iterator();
while(it.hasNext()){
//it.remove();
System.out.println("删除第一个对象之后输出剩下的对象:\n"+it.next());
}
//在第二个位置插入一个学生对象
list.add(1, new Student("小花",23));
System.out.println("掺入一个对象之后集合长度为:"+list.size());
/*System.out.println("for的增强版遍历集合:");//用这个方法便利集合会循环输出集合里面的内容
for(Object li : list ){
System.out.println((List)list);
}*/
//判断里面的对象是否存在我需要的
//int index = -1;
for(int i = 0;i<list.size();i++){
Student stu = (Student)list.get(i);//获取集合里面的对象
if(stu.getName().equals("刘德华")){
System.out.println(stu);
}else{
System.out.println("不存在");
}
}
}
}
package com.glut.demo;
public class Student {
private String name;//学生名字
private int age;//学生年龄
//set 和 get 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//无参构造方法
public Student() {
super();
}
//有参构造方法
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "学生名字是:" + this.name + "\n年龄是:" + this.age ;
}
}
泛型的例子
package demo9;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo {
public static void main(String[] args) {
List<Map<String, List<Student>>> list = new ArrayList<Map<String,List<Student>>>();
Map<String, List<Student>> m1 = new HashMap<String, List<Student>>();
List<Student> stuListM1 = new ArrayList<Student>();
stuListM1.add(new Student("张1","m1",1));
stuListM1.add(new Student("张2","m1",1));
stuListM1.add(new Student("张3","m1",1));
m1.put("1001", stuListM1);
Map<String, List<Student>> m2 = new HashMap<String, List<Student>>();
List<Student> stuListM2 = new ArrayList<Student>();
stuListM2.add(new Student("李1","m2",1));
stuListM2.add(new Student("李2","m2",1));
stuListM2.add(new Student("李3","m2",1));
m2.put("1002", stuListM2);
Map<String, List<Student>> m3 = new HashMap<String, List<Student>>();
List<Student> stuListM3 = new ArrayList<Student>();
stuListM3.add(new Student("付1","m3",1));
stuListM3.add(new Student("付2","m3",1));
stuListM3.add(new Student("付3","m3",1));
m3.put("1003", stuListM3);
list.add(m1);
list.add(m2);
list.add(m3);
for (int i = 0; i < list.size(); i++) {
Map<String,List<Student>> map = list.get(i);
for(String key : map.keySet()){
List<Student> stuList = map.get(key);
System.out.println(key+"学校的学生信息");
for(Student stu : stuList){
System.out.println(stu.getName());
}
}
}
}
}
2018. 2.4 Java中集合嵌套集合的练习的更多相关文章
- 【集合】Java中的具体集合(一)
Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...
- Java中如何克隆集合——ArrayList和HashSet深拷贝
编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味 ...
- java中数组、集合、字符串之间的转换,以及用加强for循环遍历
java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...
- Java中的List集合和迭代器
一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...
- java中 列表,集合,数组之间的转换
java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...
- JAVA中所有与集合有关的实现类都是这六个接口的实现类
JAVA中所有与集合有关的实现类都是这六个接口的实现类. Collection接口:集合中每一个元素为一个对象,这个接口将这些对象组织在一起,形成一维结构. List接口代表按照元素一定的相关顺序来组 ...
- Java中多个集合的交集,并集和差集
一.交集 java中交集使用 A.retainAll(B) ,交集的结果在集合A中. import org.junit.Test; import java.util.HashSet; import j ...
- Java中泛型在集合框架中的应用
泛型是Java中的一个重要概念,上一篇文章我们说过,当元素存入集合时,集合会将元素转换为Object类型存储,当取出时也是按照Object取出的,所以用get方法取出时,我们会进行强制类型转换,并且通 ...
- Java中list<Object>集合去重实例
一:Java中list去重的方法很多,下面说一下其中一种方法:把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中: 二:实例 这里需要注意的是:使用c ...
- java中数组以及集合
java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5] a是在java栈中分配的引用变量,类型是int[ ...
随机推荐
- 洛谷P1047 校门外的树
P1047 校门外的树 题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0 ...
- STP-15-PortFast端口
PortFast是大家熟知的传统STP和PVST+改进特性,它也是RSTP和MST中标准化的增强特性.实质上,它定义了个一个边界端口.边界端口在启用之后立刻进入转发状态,不产生拓扑变化事件,不会因为处 ...
- CentOS下ganglia监控部署
第一步:CentOS环境准备 1.yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel ...
- 007 Reverse Integer 旋转整数
Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example ...
- js执行上下文和执行栈
执行上下文就是JavaScript 在被解析和运行时环境的抽象概念,JavaScript 运行任何代码都是在执行上下文环境中运行的,执行上下文包括三个周期:创建——运行——销毁,重点说一下创建环节. ...
- 合理设置apache httpd的最大连接数--linux
手头有一个网站在线人数增多,访问时很慢.初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能 ...
- android 开发-ListView与ScrollView事件冲突处理(事件分发机制处理)
ListView和ScrollView都存在滚动的效果,所以一般不建议listView和scrollView进行嵌套使用,但有些需求则需要用到两者嵌套.在android的学习中学了一种事件分发处理机制 ...
- Unity C# 调用SaveFileDialog保存Excel文件
本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6893934.html 本文学习如何把数据转存为Excel文件并调用SaveFileDial ...
- 《C#高效编程》读书笔记10-使用可选参数减少方法重载数量
C#现在支持调用者一方使用具名参数(named parameter).类型中的名称也成为了公有接口的一部分.修改公有参数名称将有可能破坏掉调用者的代码. public void SetName(str ...
- 解决IE8的兼容问题
本文分享下我在项目中积累的IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK ...