一.神马是集合
1.提供比数组更灵活、更实用的集合框架,可大大提高软件开发的效率,并且不同的集合可用在不同的场合。 集合类主要由Map接口和Collection接口派生而来,Collection接口由两个常用的子接口:List接口和Set接口,集合框架的三大类主要就是:Map接口、List接口、Set接口。
二.List接口
1.List接口存储一组不唯一、有序的对象
细分下来由: ArrayList集合、LinkedList集合
2.ArrayList:长度可变的数组,存储空间连续
3.LinkedList:链表式结构存储
三.Set接口
Set接口存储一组唯一、无序的对象
四.Map接口
Map接口存储一组键值对象,提供key和value的映射
五.课后练习
1.狗狗信息
package ZYL;
public class Dog {
private String name;
private String var;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getVar() {
return var;
}
public void setVar(String var) {
this.var = var;
}
public String show(){
return name+"\t"+var;
}
}
package ZYL;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Dog>dog = new ArrayList<Dog>();
Dog dog1 = new Dog();
dog1.setName("欧欧");
dog1.setVar("雪娜睿");
Dog dog2 = new Dog();
dog2.setName("亚亚");
dog2.setVar("拉布拉多");
Dog dog3 = new Dog();
dog3.setName("菲菲");
dog3.setVar("拉布拉多");
Dog dog4 = new Dog();
dog4.setName("美美");
dog4.setVar("雪娜睿");
dog.add(dog1);
dog.add(dog2);
dog.add(dog3);
dog.add(dog4);
System.out.println("删除前有"+dog.size()+"条狗狗");
System.out.println("");
dog.remove(dog2);
dog.remove(dog4);
System.out.println("删除前有"+dog.size()+"条狗狗");
for (int i = 0; i < dog.size(); i++) {
Dog d = dog.get(i);
System.out.println(d.show());
}
boolean D = dog.contains(dog2);
if(D==true){
System.out.println("有欧欧这条狗");
}
else{
System.out.println("没有这条狗");
}
}
}
2.国家信息
package ZYL;
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) {
Map<String,String>map = new HashMap<String,String>();
map.put("CN","中华人民共和国");
map.put("RU","俄罗斯联邦");
map.put("FR","法兰西共和国");
map.put("US","美利坚合众国");
System.out.println("CN对应的国家是:"+map.get("CN"));
System.out.println("Map中共有"+map.size()+"组数据");
map.remove("FR");
System.out.println("Map中包含FR的key吗?"+map.containsKey("FR"));
System.out.println(map);
System.out.println(map.keySet());
System.out.println(map.values());
}
}
3.企鹅信息
package ZYL;
public class Puing {
private String name;
private String sex;
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 String show() {
return name+"\t"+sex;
}
}
package ZYL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Demo2 {
public static void main(String[] args) {
Map<String,List>map = new HashMap<String,List>();
for (int i = 0; i < 1; i++) {
Puing puing = new Puing();
puing.setName("亚亚");
puing.setSex("Q妹");
Puing puing2 = new Puing();
puing2.setName("菲菲");
puing2.setSex("Q妹");
Puing puing3 = new Puing();
puing3.setName("欧欧");
puing3.setSex("Q仔");
Puing puing4 = new Puing();
puing4.setName("美美");
puing4.setSex("Q妹");
List<Puing>list = new ArrayList<Puing>();
list.add(puing);
list.add(puing2);
list.add(puing3);
list.add(puing4);
map.put(""+i,list);
}
System.out.println("使用Iterator遍历,所有企鹅的昵称和品种分别是:");
Set<String>set = map.keySet();
for(String key:set){
List<Puing>list = map.get(key);
for(Puing puing:list){
System.out.println(puing.show()+" ");
}
}
}
}