三者之间转换关系,一张图清晰呈现。
上代码:
其中的maputils是apache的collection包。
package util; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.collections.MapUtils; public class Convert { public static void main(String[] args) { //1.数组转换为list,map String[] arr = {"123","456","789","123"}; List<String> list = Arrays.asList(arr); //数组转换为map,一维数组时,奇数为key,偶数为value,奇数个元素,最后一个舍掉 //.二维数组当做两个一维数组 Map map = MapUtils.putAll(new HashMap(), arr); String[][] ss = {{"a","b","e"},{"c","d","f"}}; MapUtils.debugPrint(System.out,arr,map); MapUtils.putAll(map, arr); MapUtils.debugPrint(System.out,arr,map); MapUtils.putAll(map, ss); MapUtils.verbosePrint(System.out,arr,MapUtils.invertMap(map)); //list 转换为arr List<String> ls = new ArrayList<String>(); ls.add("wch"); ls.add("name"); String[] as = (String[]) ls.toArray(); } }