您的位置:

Java字符串转集合

在Java编程中,字符串与集合是两个经常需要互相转换的数据类型。字符串是一组字符序列,而集合是一个可变大小的元素集合。因此,将字符串转换为集合或将集合转换为字符串是非常常见的操作。

一、字符串转List

如果我们有一个字符串,其中每个元素之间由逗号分隔,我们需要将其转换为一个列表。Java中可以使用split()函数将字符串拆分为数组,然后将该数组转换为List。
    String str = "a,b,c,d,e";
    List list = Arrays.asList(str.split(","));
    System.out.println(list);

  
以上代码将输出:[a, b, c, d, e]。在这段代码中,我们使用split()函数将字符串拆分为字符串数组,然后用Arrays类的asList()函数将该字符串数组转换为列表。

二、字符串转Set

与将字符串转换为列表相似,可以将字符串转换为集合。同样可以使用split()函数将字符串拆分为数组,然后使用Java中的Collection工具类将集合转换为Set。
    String str = "a,b,c,d,e";
    Set set = new HashSet<>(Arrays.asList(str.split(",")));
    System.out.println(set);

  
以上代码将输出:[a, b, c, d, e]。在这段代码中,我们使用split()函数将字符串拆分为字符串数组,然后使用Arrays类的asList()函数将该字符串数组转换为列表。最后使用HashSet的构造函数将列表转换为Set。

三、字符串转Map

如果我们有一个字符串,其中包含属性和值,我们需要将其转换为Map。Java中可以使用split()函数将字符串拆分为数组,然后通过循环遍历数组将每个属性和值提取出来,并将其添加到Map中。
    String str = "name=张三,age=18,gender=男";
    Map map = new HashMap<>();
    for (String pair : str.split(",")) {
        String[] keyValue = pair.split("=");
        map.put(keyValue[0], keyValue[1]);
    }
    System.out.println(map);

  
以上代码将输出:{name=张三, age=18, gender=男}。在这段代码中,我们使用split()函数将字符串拆分为属性-值对的数组,然后使用split()函数将每个属性-值对拆分为属性和值。最后使用HashMap类创建Map,并使用put()函数将所有的属性-值对添加到Map中。

四、字符串转数组

如果我们需要将一个字符串拆分为字符数组,我们可以使用toCharArray()方法来实现。
    String str = "Hello, World!";
    char[] charArray = str.toCharArray();
    System.out.println(Arrays.toString(charArray));
以上代码将输出:[H, e, l, l, o, ,, , W, o, r, l, d, !]。在这段代码中,我们使用toCharArray()方法将字符串转换为字符数组,并使用Arrays的toString()方法将字符数组转换为字符串以便输出。

五、字符串转基本类型数组

如果我们有一个用逗号分隔的数字字符串,我们需要将其转换为基本类型数组。可以使用split()函数将字符串拆分为数组,然后使用Java中对应的类型的parseXXX()函数将字符串转换为基本类型。
    String str = "1,2,3,4,5";
    int[] intArray = Arrays.stream(str.split(",")).mapToInt(Integer::parseInt).toArray();
    System.out.println(Arrays.toString(intArray));
以上代码将输出:[1, 2, 3, 4, 5]。在这段代码中,我们使用split()函数将字符串拆分为字符串数组,然后使用mapToInt()函数将字符串数组转换为IntStream,最后使用toArray()函数将转换后的IntStream转换为整数数组。

总结

在Java编程中,字符串与集合的互相转换是常见的操作。可以使用Java中的split()函数将字符串拆分为字符串数组,然后使用Collection或Java 8中的流将字符串数组转换为集合或基本类型数组。这些转换可以帮助我们更好地处理和操作数据。