Java五种容器


一、组合解析

1、五种容器
(1)存放单个数据(数据含义一致,不需要描述)

名称 用途
数据 固定有序
ArrayList 动态有序
HashSet 动态无序

(2)存放键值对数据(数据含义各不相同,需要key对数据描述)

名称 用途
javaBean 固定大小
HashMap 动态大小

2、遍历容器

名称 用途
for循环 知道大小
while循环 不知道大小
Iterator迭代器 无序容器需要先排序

3、容器组合
容器可以组合使用,形成更丰富的容器

二、容器练习

容器练习类.png

容器 加值 取值 遍历 补充
定义一个数组(存姓名) 加1个值 取1个值 for循环遍历
定义一个ArrayList(存地址) 加1个值 取1个值 for循环遍历 for each
定义一个HashSet(存学号) 加1个值 Iterator迭代器 while循环
定义一个JavaBean(存学生信息) 加1个值 取1个值 toString()
定义一个HashMap(存任意想到的数据) 加1个值 取1个值 Iterator迭代器 while循环
package com.guoyasoft.selenium;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.map;
import java.util.Set;


public class Yang{
  public static void main(String[] args){
  //程序:命令+命令要处理的数据
  //命令怎么封装,数据怎么存储

  //单个的数据(所有数据都是同一个含义);键值对的数据(key=value,要存的是value,key的作用是解释)


  //数组:单个值,大小固定,有序,可重复
//定义一个String类型的数组存储姓名
string[] names=new string[8];
//存值/取值
names[0]="Dave";
names[1]="Jack";
names[2]="Jim";

//for循环遍历:最小值、最大值、增量
for(int i=0;i address=new ArrayList();
//存值
address.add("boy1");
address.add("boy2");
address.add("boy3");
//取值
address.get(0);
address.get(1);
address.get(2);
//for循环遍历
for(int j=0;j sno=new HashSet();
//存值
sno.add(0001);
sno.add(0002);
sno.add(0003);
//HashSet数据存储无序,不能取单个值
//迭代器:Iterator
//容器都有自动排序功能;

//先将sno进行排序,再将排序后的结果存放到一个接口类型为Iterator变量类型为int的变量iterator里
Iterator iterator=sno.iterator();
//遍历:知道个数的,用for循环;不知道个数的,用while循环
while(iterator.hasNext()){//条件判断如果有下一个
int s=iterator.next();
system.out.println(s);
}


//javaBean
//要存不同含义的多个数据,就需要给每个数据一个描述含义的名字
//多种不同含义的数据(键值对)、数量固定、类型固定、变量值不固定

//先另写一个student要继承的类
/*package com.guoyasoft.selenium;
  
public class Student{
String name="boy";
int score=90;
String sex="男";
int age=20;
                                } */

//Yang通过继承extend获取Student的属性
//实例化Student
Student stu=new Student();//一个学生
//加值取值中的值通过继承得来
stu.name="boy";
stu.score=90;
//打印成绩
system.out.println(stu.score);
//把实例化后的stu通过toString功能转化成类型相同的字符串并进行排序
String studentStr=stu toString();
//打印studentStr
system.out.println(studentStr);

//实例化List
List classList=new ArrayList();//一个班级
classList.add(stu);//班级里面装学生信息

//实例化List>
List<>> school=new ArrayList>();//一个学校
school.add(classList);//学校里装班级


//HashMap:要存很多数据,类型含义各不相同(key=value)、个数不定、无序
//定义一个HashMap
Map maps=new HashMap(); 
//存值
maps.put("name","boy1");
//取值,通过key取value值
maps.get("name");
maps.put("name","boy2");
maps.get("name");//取boy2
maps.put("student","boy1");
maps.get("student");//取boy1

//Iterator迭代器
//先将容器内的值(maps.entrySet())进行排序,然后再将排序后的结果存在接口类型为Iterator变量类型为Maps.Entry的变量iterator1里
Iteraor> iterator1= maps.entrySet().Iterator();
while(iterator1.hasNext()){
Map.Entry item=iterator1.next();
String key=item.getKey();
String value=item.getValue();
system.out.println("key="+key+",value="+value);

}
                                                          }


                    }

你可能感兴趣的:(Java五种容器)