在Java中,數組是一種常用的數據結構,可以存儲多個同類型的數據。但有時候,我們需要將一個數組轉換成另外一種類型的數組,或是將一個二維數組轉換成一維數組等等。本文將從多個方面介紹Java如何實現數組轉換。
一、將一維數組轉化為List
public List<Object> toList(Object[] array) {
List<Object> list = new ArrayList<Object>(array.length);
for (Object obj : array) {
list.add(obj);
}
return list;
}
將一個一維數組轉化為List,可以使用Java自帶的ArrayList。需要遍曆數組,將每個元素添加到List中,最後返回List對象。
二、將一維數組轉化為Set
public Set<Object> toSet(Object[] array) {
Set<Object> set = new HashSet<Object>(array.length);
for (Object obj : array) {
set.add(obj);
}
return set;
}
將一個一維數組轉化為Set,可以使用Java自帶的HashSet。需要遍曆數組,將每個元素添加到Set中,最後返回Set對象。
三、將一維數組轉化為Map
public Map<Object, Integer> toMap(Object[] array) {
Map<Object, Integer> map = new HashMap<Object, Integer>(array.length);
for (Object obj : array) {
Integer count = map.get(obj);
map.put(obj, (count == null) ? 1 : count + 1);
}
return map;
}
將一個一維數組轉化為Map,需要使用Java自帶的HashMap,因為需要存儲鍵值對。需要遍曆數組,將每個元素作為鍵加入Map中,並記錄出現次數。
四、將二維數組轉化為一維數組
public Object[] toOneDArray(Object[][] array) {
List<Object> list = new ArrayList<Object>();
for (Object[] row : array) { // 對二維數組進行遍歷
for (Object obj : row) { // 對每行進行遍歷
list.add(obj);
}
}
return list.toArray();
}
將一個二維數組轉化為一維數組,需要對二維數組進行遍歷,並對每行進行遍歷,將每個元素添加到List中,最後將List轉化為數組並返回。
五、將一維數組轉化為字元串
public String arrayToString(Object[] array) {
StringBuilder sb = new StringBuilder();
sb.append("[ ");
for (Object obj : array) {
sb.append(obj.toString()).append(" ");
}
sb.append("]");
return sb.toString();
}
將一個一維數組轉化為字元串,可以使用StringBuilder來構建字元串,循環遍曆數組元素並添加到StringBuilder的末尾,最後返回字元串。
六、將字元串轉化為一維數組
public String[] stringToArray(String str) {
String[] array = str.replaceAll("\\\\[", "")
.replaceAll("\\\\]", "")
.replaceAll(" ", "")
.split(",");
return array;
}
將一個字元串轉化為一維數組,可以使用Java自帶的replaceAll()方法,通過正則表達式將字元串中的字元替換掉,最後使用split()方法根據逗號分隔符將字元串轉化為數組並返回。
以上是幾種常見的Java數組轉換方式,不同的情況下可以根據具體需求進行調整。
原創文章,作者:GEZO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140522.html