在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中的流將字符串數組轉換為集合或基本類型數組。這些轉換可以幫助我們更好地處理和操作數據。
原創文章,作者:WAHTS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/333223.html