【集合类】关于List与Map集合第一题(将字符串分组存放到list中,然后再根据不同的键值放到map中)...

/**
  * 有一个字符串数组内有如下字符串 user/add, user/get, user/list, user/edit, role/add,
  * role/get, role/list, staff/add, staff/edit, staff/list
  * 请将他们分组存放到list里面,分组的依据是"/"前面的字符相同,
  * 每组用一个list容器来存放,然后存放到map里面,key就是"/"前面的字符串
  */

 

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 小苗
 */
public class Group {

	public static void main(String[] args) {
		String s1=null,s2=null,s3=null;
		String[] s = { "user/add",  "role/list","user/get", "user/list", "user/edit",
				"role/add", "role/get", "staff/add", "staff/edit",
				"staff/list" };
		// 定义三个集合来存放 字符串
		List<String> list1 = new ArrayList<String>();
		List<String> list2 = new ArrayList<String>();
		List<String> list3 = new ArrayList<String>();
		for (int i = 0; i < s.length; i++) {
			if (s[i].split("/")[0].equals("user")) { // split为拆分字符串,/之前的子字符串与“user”比较
				list1.add(s[i]); // 如果相等 ,/之前的子字符串添加到list1中
				s1 = s[i].split("/")[0];    //将拆分出来的字符串赋给一个字符串变量①
			}
			if (s[i].split("/")[0].equals("role")) {
				list2.add(s[i]);
				s2 = s[i].split("/")[0];
			}
			if (s[i].split("/")[0].equals("staff")) {
				list3.add(s[i]);
				s3 = s[i].split("/")[0];
			}
		}
		Map<String, List> m1 = new HashMap<String, List>();
		m1.put(s1, list1);
		m1.put(s2, list2);
		m1.put(s3, list3);
		System.out.println(m1);
	}
}

 

展开阅读全文

没有更多推荐了,返回首页