精华内容
下载资源
问答
  • Java String转List

    2020-02-05 18:49:36
    1.String数组转List public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException { String str= "[{\"YHDM\":\"xs126032\",\"ZSXH\":null,\"XM\":\"小飞侠\"}]"; ...

    1.String数组转List

    	public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
      		String str= "[{\"YHDM\":\"xs126032\",\"ZSXH\":null,\"XM\":\"小飞侠\"}]";
    		ObjectMapper mapper = new ObjectMapper();
      		List<Map<String,String>> conList = mapper.readValue(str, List.class);
      		System.out.println(conList.size());
    	}
    
    展开全文
  • JAVA String转List<String>或List<Integer>

    千次阅读 2020-05-03 13:09:27
    直接上代码 String strcids = request.getParameter("cids"); String[] strs = strcids....List<Integer> cids = new ArrayList<>(); for(String str:strs){ int i =Integer.parseInt(str); cids....

    直接上代码

    String strcids = request.getParameter("cids");
    String[] strs = strcids.split(",");
    List<Integer> cids = new ArrayList<>();
    for(String str:strs){
    	int i =Integer.parseInt(str);
    	cids.add(i);
    }
    
    展开全文
  • 项目中经常会遇到list转String,list转map,String转list等情况,特在这里记录一下。 1.list转String 将List集合转化为用符号隔开的String字符串,只要用StringUtils中的join就行。 String listToString= org....

    项目中经常会遇到list转String,list转map,String转list等情况,特在这里记录一下。

    1.list转String

    将List集合转化为用符号隔开的String字符串,只要用StringUtils中的join就行。

    String listToString= org.apache.commons.lang3.StringUtils.join(list, ",")

    2.list转map

    我们会常遇到将一个list按某个字段作为key转为map,如下面,按年龄转map,传统方法是直接做循环:

          Map<Integer, List<Person>> map = new HashMap<>();
            List<Person> list = new ArrayList<>();
            Person person1 = new Person(20, "张三","男");
            Person person2 = new Person(21, "李四","男");
            Person person3 = new Person(32, "王五","男");
            Person person4 = new Person(21, "刘六","男");
            Person person5 = new Person(20, "田七","男");
            Person person6 = new Person(32, "王八","男");
            Person person7 = new Person(21, "阿狗","男");
            Person person8 = new Person(20, "阿十","男");
            list.add(person1);
            list.add(person2);
            list.add(person3);
            list.add(person4);
            list.add(person5);
            list.add(person6);
            list.add(person7);
            list.add(person8);
    
            for (Person person : list) {
                map.put(person.getAge(), new ArrayList<>());
            }
    
            Map<Integer, List<Person>> map1 = new HashMap<>();
            for (Map.Entry<Integer, List<Person>> entry : map.entrySet()) {
                List<Person> userList = new ArrayList<>();
                for (Person person : list) {
                    if (entry.getKey() == person.getAge()) {
                        userList.add(person);
                    }
                }
                map.put(entry.getKey(), userList);
                userList = null;
            }
        }

    但我还是推荐用Java8 的Stream来做,特别简单:

    Map<Integer,List<Person>> map2=list.parallelStream().collect(Collectors.groupingBy(Person::getAge));

    就一句话的事。Java8的Stream对集合的操作都挺好用的,下次抽时间来分享一下。

    3.String数组转list

    定义一个String数组,用Arrays.asList转:

      String[] string = {"aa","bb","cc"};
      List<String> stringToList= Arrays.asList(string);

    4.带逗号String转list

    1.转Integer类型list

      String IntegerType="1,2,3";
      List<Integer> IntegerResult = Arrays.asList(StringType.split(",")).stream().map(s ->Integer.parseInt(s.trim())).collect(Collectors.toList());

    2.转String类型的list

      String StringType="a,b,c";
      List<String> StringResult = Arrays.asList(StringType.split(",")).stream().map(s ->s.trim()).collect(Collectors.toList());

    未完待续。。。

    展开全文
  • JAVAList转换StringString转换List,Map转换StringString转换Map之间的转换工具类(调优) 原文链接:http://blog.csdn.net/qq7342272/article/details/6830907#comments 调试时出现bug,在String中包含list...

    JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换工具类(调优)

    原文链接:http://blog.csdn.net/qq7342272/article/details/6830907#comments

    调试时出现bug,在String中包含list嵌套或map嵌套时会出现字符串下标越界异常,原因是split分割时会出现""字符串,此时引用str.charAt(0)会抛出该异常,如图:

    优化代码,经调试暂时解决String中2层嵌套list转换,如下:

    复制代码

      1 package test;
      2 
      3 import java.util.ArrayList;
      4 import java.util.HashMap;
      5 import java.util.List;
      6 import java.util.Map;
      7 
      8 public class CopyOfStringUtil {
      9 
     10     /**
     11      * 定义分割常量 
     12      * #用于list中每个元素间的分割
     13      * |用于map中每一个kv对间的分割
     14      * =用于map中key与value间的分割
     15      */
     16     private static final String SEP1 = ",";
     17     private static final String SEP2 = "|";
     18     private static final String SEP3 = "=";
     19 
     20     /**
     21      * List转换String
     22      * 
     23      * @param list
     24      *            :需要转换的List
     25      * @return String转换后的字符串
     26      */
     27     public static String ListToString(List<?> list) {
     28         StringBuffer sb = new StringBuffer();
     29         if (list != null && list.size() > 0) {
     30             for (int i = 0; i < list.size(); i++) {
     31                 if (list.get(i) == null || list.get(i) == "") {
     32                     continue;
     33                 }
     34                 // 如果值是list类型则调用自己
     35                 if (list.get(i) instanceof List) {
     36                     sb.append(ListToString((List<?>) list.get(i)));
     37                     sb.append(SEP1);
     38                 } else if (list.get(i) instanceof Map) {
     39                     sb.append(MapToString((Map<?, ?>) list.get(i)));
     40                     sb.append(SEP1);
     41                 } else {
     42                     sb.append(list.get(i));
     43                     sb.append(SEP1);
     44                 }
     45             }
     46         }
     47         return "L" + sb.toString();
     48     }
     49 
     50     /**
     51      * Map转换String
     52      * 
     53      * @param map
     54      *            :需要转换的Map
     55      * @return String转换后的字符串
     56      */
     57     public static String MapToString(Map<?, ?> map) {
     58         StringBuffer sb = new StringBuffer();
     59         // 遍历map
     60         for (Object obj : map.keySet()) {
     61             if (obj == null) {
     62                 continue;
     63             }
     64             Object key = obj;
     65             Object value = map.get(key);
     66             if (value instanceof List<?>) {
     67                 sb.append(key.toString() + SEP1 + ListToString((List<?>) value));
     68                 sb.append(SEP2);
     69             } else if (value instanceof Map<?, ?>) {
     70                 sb.append(key.toString() + SEP1 + MapToString((Map<?, ?>) value));
     71                 sb.append(SEP2);
     72             } else {
     73                 sb.append(key.toString() + SEP3 + value.toString());
     74                 sb.append(SEP2);
     75             }
     76         }
     77         return "M" + sb.toString();
     78     }
     79 
     80     /**
     81      * String转换Map
     82      * 
     83      * @param mapText
     84      *            :需要转换的字符串
     85      * @return Map<?,?>
     86      */
     87     public static Map<String, Object> StringToMap(String mapText) {
     88 
     89         if (mapText == null || mapText.equals("")) {
     90             return null;
     91         }
     92         mapText = mapText.substring(1);
     93 
     94         Map<String, Object> map = new HashMap<String, Object>();
     95         String[] text = mapText.split("\\" + SEP2); // 转换为数组
     96         for (String str : text) {
     97             String[] keyText = str.split(SEP3); // 转换key与value的数组
     98             if (keyText.length < 1) {
     99                 continue;
    100             }
    101             String key = keyText[0]; // key
    102             String value = keyText[1]; // value
    103             if (value.charAt(0) == 'M') {
    104                 Map<?, ?> map1 = StringToMap(value);
    105                 map.put(key, map1);
    106             } else if (value.charAt(0) == 'L') {
    107                 List<?> list = StringToList(value);
    108                 map.put(key, list);
    109             } else {
    110                 map.put(key, value);
    111             }
    112         }
    113         return map;
    114     }
    115 
    116     /**
    117      * String转换List
    118      * 
    119      * @param listText
    120      *            :需要转换的文本
    121      * @return List<?>
    122      */
    123     public static List<Object> StringToList(String listText) {
    124         if (listText == null || listText.equals("")) {
    125             return null;
    126         }
    127         listText = listText.substring(1);
    128 
    129         List<Object> list = new ArrayList<Object>();
    130         String[] text = listText.split("\\" + SEP1);
    131         String listStr = "";
    132         boolean flag = false;
    133         for (String str : text) {
    134             if (!str.equals("")) {
    135                 if (str.charAt(0) == 'M') {
    136                     Map<?, ?> map = StringToMap(str);
    137                     list.add(map);
    138                 } else if (str.charAt(0) == 'L' || flag) {
    139                     flag = true;
    140                     listStr += str + SEP1;
    141                 } else {
    142                     list.add(str);
    143                 }
    144             }
    145             if (str.equals("")) {
    146                 flag = false;
    147                 List<?> lists = StringToList(listStr);
    148                 list.add(lists);
    149             }
    150         }
    151         return list;
    152     }
    153 
    154 }

    复制代码

    测试代码如下:

    复制代码

     1 package test;
     2 
     3 import java.util.ArrayList;
     4 import java.util.HashMap;
     5 import java.util.List;
     6 import java.util.Map;
     7 
     8 public class StringUtilTest {
     9 
    10     List<Object> list = new ArrayList<Object>();//外层list
    11     List<Object> innerList = new ArrayList<Object>();//内层嵌套list
    12     Map<String, Object> map = new HashMap<String, Object>();
    13     String listText, mapText;
    14 
    15     /**
    16      * 测试数据初始化
    17      */
    18     public StringUtilTest() {
    19         innerList.add("innerlist1");
    20         innerList.add("innerlist2");
    21         list.add(innerList);
    22         list.add("out1");
    23         list.add("out2");
    24 
    25         map.put("innermap1", "v1");
    26         map.put("innermap2", "v2");
    27 
    28         listText = "LLinnerlist1,innerlist2,,out1,out2,";//list字符串源
    29 
    30         mapText = "Minnermap2=v2|innermap1=v1|";//map字符串源
    31     }
    32 
    33     public static void main(String[] args) {
    34         StringUtilTest test = new StringUtilTest();
    35 
    36         String ls = test.testListToString();
    37         System.out.println(ls);
    38 
    39         String ms = test.testMapToString();
    40         System.out.println(ms);
    41 
    42         List<?> list = test.testStringToList();
    43         System.out.println(list);
    44 
    45         Map<?, ?> map = test.testStringToMap();
    46         System.out.println(map);
    47     }
    48 
    49     public String testListToString() {
    50         return CopyOfStringUtil.ListToString(list);
    51     }
    52 
    53     public String testMapToString() {
    54         return CopyOfStringUtil.MapToString(map);
    55     }
    56 
    57     public List<?> testStringToList() {
    58         return CopyOfStringUtil.StringToList(listText);
    59     }
    60 
    61     public Map<?, ?> testStringToMap() {
    62         return CopyOfStringUtil.StringToMap(mapText);
    63     }
    64 
    65 }

    复制代码

    测试结果,满足2层嵌套list:

    展开全文
  • importjava.util....importjava.util.List;importjava.util.Map;publicclassUtils{/***定义分割常量(#在集合中的含义是每个元素的分割,|主要用于map类型的集合用于key与value中的分割)*/privatestaticfinalStr...
  • 这个使用java8的stream可以很好的解决List codesInteger = codes.stream().map(Integer::...转换list列表String到列表Intger,java8提供了stream很好的进行操作。上代码publicstaticvoidmain(String[] args){List ...
  • string ArrayList先将字符串按照某个字符切割,转为string数组然后用Arrays的asList方法,将数组转为Listpublic class test1 {public static void main(String[] args) {//string ArrayListString str1 = "a,b...
  • JAVAList转换StringString转换List,Map转换StringString转换Map之间的转换类 private static final String SEP1 = "#"; private static final String SEP2 = "|"; private static final String SEP3 = ...
  • 以下是Object转List的需求场景 前端通过http请求,body以json形式,内容含有字符串、数组。 后端使用Map<string,Object>的方式接收,些时如何将部分的Object转换成List 此时,如何将数组参数Object转换成List...
  • java String map、list

    千次阅读 2019-04-29 22:08:57
    import ... String转List List<Map> datalist = JSONObject.parseArray(str, Map.class); String转map Map<String, Object> eventMap = (Map<String, Object>)...
  • Java String转String[]字符串数组 String[]转集合 char[]字符数组转String 一、String转String[]字符串数组二、String[]转List集合 一、String转String[]字符串数组 方法:使用String的split()方法; split():根据...
  • import java.util.Arrays;...public class test {public static void main(String[] args) {// 字符串转listString str = "aaa,bbb,ccc";List lis = Arrays.asList(str.split(","));for (String stri...
  • // String转Map HashMap hashMap = JSON.parseObject(str, HashMap.class); System.err.println(hashMap); // Map再转List对象 Collection<实体类> values = hashMap.values(); List<实体类t> ...
  • import java.io.IOException;...import java.util.List;import java.util.Map;public class Utils {/*** 定义分割常量 (#在集合中的含义是每个元素的分割,|主要用于map类型的集合用于key与value中的分割...
  • String转LIST

    2020-07-20 11:16:55
    JAVA String List if(TextUtil.isNull(model)){ String[] strArr = stt.split(","); productCodeList = Arrays.asList(strArr); }
  • 添加依赖 <groupId>org.apache.... System.out.println("String转List:" + result); } 执行结果: List转String:test1,test2,test3 String转List:[test4, test5, test6] 文章仅作为个人学习整理
  • JavaString转List<Integer> // 输入:“1,2,3” String str = "1,2,3" List<String> isStr =Arrays.asList(str.split(",")); List<Integer> isInt = new ArrayList<>(); CollectionUtils....
  • java8 string list long

    千次阅读 2020-05-20 11:01:07
    String productIds = “1,2,3”; List sortIdList = Arrays.stream(productIds(",")) .map(s -> Long.parseLong(s.trim())) .collect(Collectors.toList());

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,496
精华内容 1,798
关键字:

javastring转list

java 订阅