使用ArrayListMultimap

 场景:集合进行归类输出
1.ArrayListMultimap使用
  jar包: guava-19.0.jar

public static void operateMultimap(List<GirlVo> list) {
		/**1.创建ArrayListMultimap*/
		ArrayListMultimap<String, GirlVo> girlMultiMap = ArrayListMultimap.create();
		/**2.将cupSize相同的对象归类,ArrayListMultimap会放入同一集合中*/
		for (GirlVo girlVo : list) {
			girlMultiMap.put(girlVo.getCupSize(), girlVo);
		}
		/**3.变量归类后对象,并输出*/
		for (Map.Entry<String, Collection<GirlVo>> entryOfGirl : girlMultiMap.asMap().entrySet()) {
			  String cupSize = entryOfGirl.getKey();
			  Collection<GirlVo> collection = entryOfGirl.getValue();
			 logger.info(cupSize +"罩杯的女孩如下: ");
			for (GirlVo girlVo : collection) {
				logger.info(girlVo.toString());
			}
		}
	}

2.测试方法

public static void main(String[] args) {
		logger.info("测试开始......");
		List<GirlVo> list = getData();
		operateMultimap(list);
		logger.info("测试结束......");
	}

3.测试数据

public static List<GirlVo> getData(){
		
		GirlVo girlVo1 = new GirlVo();
		girlVo1.setGirlId("1001");
		girlVo1.setGirlName("张一");
		girlVo1.setAge(27);
		girlVo1.setHeight(169);
		girlVo1.setCupSize("F");
		
		GirlVo girlVo2 = new GirlVo();
		girlVo2.setGirlId("1002");
		girlVo2.setGirlName("王二");
		girlVo2.setAge(29);
		girlVo2.setHeight(175);
		girlVo2.setCupSize("B");
		
		GirlVo girlVo3 = new GirlVo();
		girlVo3.setGirlId("1003");
		girlVo3.setGirlName("刘五");
		girlVo3.setAge(24);
		girlVo3.setHeight(160);
		girlVo3.setCupSize("B");
		
		GirlVo girlVo4 = new GirlVo();
		girlVo4.setGirlId("1004");
		girlVo4.setGirlName("陈六");
		girlVo4.setAge(21);
		girlVo4.setHeight(168);
		girlVo4.setCupSize("C");
		
		GirlVo girlVo5 = new GirlVo();
		girlVo5.setGirlId("1005");
		girlVo5.setGirlName("赵七");
		girlVo5.setAge(25);
		girlVo5.setHeight(169);
		girlVo5.setCupSize("C");
		
		GirlVo girlVo6 = new GirlVo();
		girlVo6.setGirlId("1006");
		girlVo6.setGirlName("张八");
		girlVo6.setAge(26);
		girlVo6.setHeight(165);
		girlVo6.setCupSize("A");
		
		List<GirlVo> list = new ArrayList();
		list.add(girlVo1);
		list.add(girlVo2);
		list.add(girlVo3);
		list.add(girlVo4);
		list.add(girlVo5);
		list.add(girlVo6);		
		return list;
	}

4.实体类

public class GirlVo implements Serializable {

	private static final long serialVersionUID = -8545755852948661858L;
	
	/**ID号*/
	String girlId;
	/**姓名*/
	String girlName;
	/**年龄*/
	long age;
	/**身高*/
	double height;
	/**罩杯*/
	String cupSize;
	public String getGirlId() {
		return girlId;
	}
	public void setGirlId(String girlId) {
		this.girlId = girlId;
	}
	public String getGirlName() {
		return girlName;
	}
	public void setGirlName(String girlName) {
		this.girlName = girlName;
	}
	public long getAge() {
		return age;
	}
	public void setAge(long age) {
		this.age = age;
	}
	public double getHeight() {
		return height;
	}
	public void setHeight(double height) {
		this.height = height;
	}
	public String getCupSize() {
		return cupSize;
	}
	public void setCupSize(String cupSize) {
		this.cupSize = cupSize;
	}

	@Override
	public String toString() {
		
		return "GirlVo [girlId=" + girlId
				+",girlName=" + girlName
				+",age=" + age
				+",height=" + height
				+",cupSize=" + cupSize
				+"]";
	}
}

5.完整类

public class OperateMultimapUtils {

	private static Logger logger = LoggerFactory.getLogger(OperateMultimapUtils.class);
	public static void operateMultimap(List<GirlVo> list) {
		/**1.创建ArrayListMultimap*/
		ArrayListMultimap<String, GirlVo> girlMultiMap = ArrayListMultimap.create();
		/**2.将cupSize相同的对象归类,ArrayListMultimap会放入同一集合中*/
		for (GirlVo girlVo : list) {
			girlMultiMap.put(girlVo.getCupSize(), girlVo);
		}
		/**3.变量归类后对象,并输出*/
		for (Map.Entry<String, Collection<GirlVo>> entryOfGirl : girlMultiMap.asMap().entrySet()) {
			  String cupSize = entryOfGirl.getKey();
			  Collection<GirlVo> collection = entryOfGirl.getValue();
			 logger.info(cupSize +"罩杯的女孩如下: ");
			for (GirlVo girlVo : collection) {
				logger.info(girlVo.toString());
			}
		}
	}
	
	public static void main(String[] args) {
		logger.info("测试开始......");
		List<GirlVo> list = getData();
		operateMultimap(list);
		logger.info("测试结束......");
	}
	
	public static List<GirlVo> getData(){
		
		GirlVo girlVo1 = new GirlVo();
		girlVo1.setGirlId("1001");
		girlVo1.setGirlName("张一");
		girlVo1.setAge(27);
		girlVo1.setHeight(169);
		girlVo1.setCupSize("F");
		
		GirlVo girlVo2 = new GirlVo();
		girlVo2.setGirlId("1002");
		girlVo2.setGirlName("王二");
		girlVo2.setAge(29);
		girlVo2.setHeight(175);
		girlVo2.setCupSize("B");
		
		GirlVo girlVo3 = new GirlVo();
		girlVo3.setGirlId("1003");
		girlVo3.setGirlName("刘五");
		girlVo3.setAge(24);
		girlVo3.setHeight(160);
		girlVo3.setCupSize("B");
		
		GirlVo girlVo4 = new GirlVo();
		girlVo4.setGirlId("1004");
		girlVo4.setGirlName("陈六");
		girlVo4.setAge(21);
		girlVo4.setHeight(168);
		girlVo4.setCupSize("C");
		
		GirlVo girlVo5 = new GirlVo();
		girlVo5.setGirlId("1005");
		girlVo5.setGirlName("赵七");
		girlVo5.setAge(25);
		girlVo5.setHeight(169);
		girlVo5.setCupSize("C");
		
		GirlVo girlVo6 = new GirlVo();
		girlVo6.setGirlId("1006");
		girlVo6.setGirlName("张八");
		girlVo6.setAge(26);
		girlVo6.setHeight(165);
		girlVo6.setCupSize("A");
		
		List<GirlVo> list = new ArrayList();
		list.add(girlVo1);
		list.add(girlVo2);
		list.add(girlVo3);
		list.add(girlVo4);
		list.add(girlVo5);
		list.add(girlVo6);		
		return list;
	}
}

以上,TKS.

猜你喜欢

转载自blog.csdn.net/zhangbeizhen18/article/details/85934215