第二大章 第一节结构框架课后总结

本文深入讲解了Java集合框架,包括Map、List和Set接口的概念及其具体实现,如ArrayList、LinkedList等。通过实例演示了如何使用这些集合来存储和操作数据,如狗狗、国家和企鹅信息的管理。

一.神马是集合
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()+"  ");
			 }
		 }
		}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值