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[ ...
随机推荐
- 数据交换格式Json与XML
什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...
- AT2045 Salvage Robots
传送门 这个题只要想到移动机器人和移动出口是等价的就好做了 考虑设\(f[i][j][k][t]\)为最远向左移动\(i\),向右移动\(j\),向上移动\(k\),向下移动\(t\),这个矩形内最多 ...
- putty提示Network error:Software caused connection abort
在 sshd host 的 /etc/ssh/sshd_config 设定: TCPKeepAlive yes,和将LoginGraceTime的值设为0,默认为2m,然后使用service sshd ...
- html5 替换 历史 记录
history.replaceState({url:"/admin/index"},null,"/admin/index"); url 是 需要替换的路径
- 034 Search for a Range 搜索范围
给定一个已经升序排序的整形数组,找出给定目标值的开始位置和结束位置.你的算法时间复杂度必须是 O(log n) 级别.如果在数组中找不到目标,返回 [-1, -1].例如:给出 [5, 7, 7, 8 ...
- postgresql 导出csv格式的数据后使用excel打开中文乱码的问题
两种方法: 1>使用excel 的自文本导入功能,具体方法: 1) 打开 Excel 2) 执行“数据”->“自文本” 3) 选择 CSV 文件,出现文本导入向导 4) 选择“分隔符号”, ...
- Dijkstra算法(求一点到任意一点的最短距离)
思路:先找出最短的一个点,也就是起点,从起点出发,找最短的边,同时标记起点为true(代表已经访问过),访问过的点就不用再访问了,依次下去,保证每一次找到的边都是最短的边 到最后没有边可以更新了就代表 ...
- 记ubuntu下安装Anaconda
晚上尝试在ubuntu 16.04版本下安装python的Anaconda3发行版. 从清华源下载的Anaconda3-Linux 64位版本安装包,然后顺利的下一步,下一步.....一切顺利!结果到 ...
- 发布MVC网站的时候出现缺少WebHost等程序集问题的解决办法
将一下几个dll 拷贝到bin文件夹下就行 链接:https://pan.baidu.com/s/17xhTdakzM_SQmOjJdZvviw 密码:c976
- 北航oo作业第三单元小结
一.梳理JML语言的理论基础 1.jml的注释结构 jml注释语言的每一行都以@作为开始,若是块注释,则需要在注释块的首尾使用/*@ 与@*/ 2.jml的表达式体系 1.原子表达式 表达式可以看作是 ...