创建学生类有姓名学校和年龄 覆盖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中集合嵌套集合的练习的更多相关文章

  1. 【集合】Java中的具体集合(一)

    Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...

  2. Java中如何克隆集合——ArrayList和HashSet深拷贝

    编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味 ...

  3. java中数组、集合、字符串之间的转换,以及用加强for循环遍历

    java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...

  4. Java中的List集合和迭代器

    一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...

  5. java中 列表,集合,数组之间的转换

    java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...

  6. JAVA中所有与集合有关的实现类都是这六个接口的实现类

    JAVA中所有与集合有关的实现类都是这六个接口的实现类. Collection接口:集合中每一个元素为一个对象,这个接口将这些对象组织在一起,形成一维结构. List接口代表按照元素一定的相关顺序来组 ...

  7. Java中多个集合的交集,并集和差集

    一.交集 java中交集使用 A.retainAll(B) ,交集的结果在集合A中. import org.junit.Test; import java.util.HashSet; import j ...

  8. Java中泛型在集合框架中的应用

    泛型是Java中的一个重要概念,上一篇文章我们说过,当元素存入集合时,集合会将元素转换为Object类型存储,当取出时也是按照Object取出的,所以用get方法取出时,我们会进行强制类型转换,并且通 ...

  9. Java中list<Object>集合去重实例

    一:Java中list去重的方法很多,下面说一下其中一种方法:把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中: 二:实例 这里需要注意的是:使用c ...

  10. java中数组以及集合

    java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5]  a是在java栈中分配的引用变量,类型是int[ ...

随机推荐

  1. Docker 容器的数据卷

    数据卷的特点: 1. 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中 2. 数据卷可以在容器之间共享和重用 3. 可以对数据卷里的内容直接进行修改 ...

  2. cf785D(组合数学)

    题目链接: http://codeforces.com/problemset/problem/785/D 题意: 左边全为 '(' 右边全为 ')' 且两者数量想等的字符串称为 RSBS. 给出一个由 ...

  3. IOS Swift UITableViewcontroller实现点击空白处隐藏键盘

    在ios开发中,为了方便,我们经常使用UITableViewcontroller,比如搜索界面为了方便可能更多的使用UITableViewcontroller,那么问题就来了,当我点击搜索框的时候会弹 ...

  4. 自定义进度条PictureProgressBar——从开发到开源发布全过程

    自定义进度条PictureProgressBar——从开发到开源发布全过程 出处: 炎之铠邮箱:yanzhikai_yjk@qq.com 本文原创,转载请注明本出处! 本项目JCenter地址:htt ...

  5. 自动化运维工具之Cobbler

    一.anaconda anaconda负责安装系统向导,默认为GUI界面,如果我们使用ks自动应答安装的话建议使用TUI界面来安装 在安装启动界面我们可以按esc键来自己手动指定安装启动选项 anac ...

  6. rem 回家测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. vuex和localStorage/sessionStorage 区别

    1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地 2.应用场景:vuex用于组件之间的传值,(响应式的),localstorage则主要用于不同页面之间的传值(其 ...

  8. Helvetic Coding Contest 2016 online mirror C2

    Description Further research on zombie thought processes yielded interesting results. As we know fro ...

  9. chapter05_20180330

    // 5.7 主构造器// 主构造器的参数直接旋转在类名之后class Person57(val name: String, val age: Int) { // 上边()中的内容就是主构造器的参数} ...

  10. spring boot test MockBean

    使用spring boot , MockBean @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) p ...