java字元串二維數組
A. java 二維數組和字元串相互轉化
package test;
public class ArrayToStringTest {
public static void main(String[] args) {
int[][] array = new int[4][4];
int count = 0;
ArrayToStringTest test = new ArrayToStringTest();
// 賦值一個int[][]
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
array[i][j] = count;
++count;
}
}
// 獲取row,col
int row = test.getRow(array);
int col = test.getCol(array);
// 轉為String
String str = test.convertToString(array, row, col);
System.out.println(str); // 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
//轉為int[][]
int[][] arrayConvert = new int[row][col];
arrayConvert = test.convertToArray(str, row, col);
}
public int getRow(int[][] array) {
int row = 0;
if (array != null) {
row = array.length; // 行
}
return row;
}
public int getCol(int[][] array) {
int col = 0;
if (array != null) {
col = array[0].length; // 列
}
return col;
}
public String convertToString(int[][] array, int row, int col) {
String str = "";
String tempStr = null;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
tempStr = String.valueOf(array[i][j]);
str = str + tempStr + ",";
}
}
return str;
}
public int[][] convertToArray(String str, int row, int col){
int[][] arrayConvert = new int[row][col];
int count = 0;
String[] strArray = str.split(",");
for(int i = 0 ; i < row ; i ++){
for(int j = 0 ; j < col ; j ++){
arrayConvert[i][j] = Integer.parseInt(strArray[count]);
++ count ;
}
}
return arrayConvert;
}
}
B. java中如何創建字元串數組
java中定義一個字元串數組方式如下:
1.String[] str={"AAA","BBB","CCC"};
2.String str[]={"AAA","BBB","CCC"};
string類型和其他基本類型相似,創建數組時,有上述兩種方式。
數組可以分為一維數組和二維數組;
一維數組的語法格式:
數組元素類型 數組名[ ]={數組元素的初值,。。。}
如: int sa[]={1,2,3}
二維數組聲明的語法格式:
數組元素類型 數組名[ ][ ]
如:int a[][]=new int [2[3]
都是一個原理的,自己換一下自己想要定義的數組類型就可以了。
字元串數組的創建:
String a =new String("Java");
不過推薦用ArrayList strArray = new ArrayList (); 比較靈活。
C. java字元串轉數組
在Java中,當你需要將一個字元串按照特定模式轉換為二維數組時,可以使用正則表達式和Matcher類。下面是一個示例,展示了如何實現這一過程:
首先,定義一個正則表達式Pattern,用於匹配形如"{數字,數字,...}"的子串:
Pattern p = Pattern.compile("\\{(\\d|\\d,)+\\}");
接著,我們有一個字元串s,其內容為"{{1,2,3},{4,5,6},{7,8,9},{0},{0}}":
String s = "{{1,2,3},{4,5,6},{7,8,9},{0},{0}}";
通過Matcher對象m進行逐行匹配:
Matcher m = p.matcher(s);
初始化一個二維數組data:
int[][] data = new int[0][];
使用while循環遍歷匹配到的子串:
while (m.find()) {
將數組data擴展,以容納新的子數組:
data = Arrays.Of(data, data.length + 1);
解析每個子串得到一個整數數組:
String str = m.group();
Pattern p1 = Pattern.compile("\\d");
Matcher m1 = p1.matcher(str);
int[] sub = new int[0];
再次使用while循環解析每個數字:
while (m1.find()) {
sub = Arrays.Of(sub, sub.length + 1);
將匹配到的數字轉換為整數並添加到子數組:
sub[sub.length - 1] = Integer.parseInt(m1.group());
}
將解析後的子數組添加到data:
data[data.length - 1] = sub;
}
這樣,我們就完成了從字元串到二維數組的轉換:
這段代碼展示了如何通過正則表達式和Matcher將給定的字元串s分解成一個二維整數數組。
D. java中String[][] 是什麼東西string[]又是什麼東西
String[][]是二維數組。例如:String[][]str=newString[4][4],這是創建了一個有4行4列元素的數組。
String[]代表一維數組。例如:String[]str=newString[4],這個創建一個有4個元素的數組。
String[]代表格式為String數組;如str[1] str[2]等。String[][]代表多維數組了.[][],可以理解為幾行幾列。
String是編程語言中的字元串,String類是不可變的,對String類的任何改變,都是返回一個新的String類對象。
(4)java字元串二維數組擴展閱讀:
String的主要功能:
String 類提供的成員執行以下操作:比較 String 對象;返回 String 對象內字元或字元串的索引;復制 String 對象的值;分隔字元串或組合字元串;修改字元串的值;將數字、日期和時間或枚舉值的格式設置為字元串;對字元串進行規范化。
使用 Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith 方法進行比較。
使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可獲取字元串中子字元串或 Unicode 字元的索引。
使用 Copy 和 CopyTo 可將字元串或子字元串復制到另一個字元串或 Char 類型的數組。
使用 Substring 和 Split 方法可通過原始字元串的組成部分創建一個或多個新字元串;使用 Concat 和 Join 方法可通過一個或多個子字元串創建新字元串。
使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart 可修改字元串的全部或部分。
使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant 方法可更改字元串中 Unicode 字元的大小寫。
使用 Length 屬性可獲取字元串中 Char 對象的數量;使用 Chars 屬性可訪問字元串中實際的 Char 對象。
使用 IsNormalized 方法可測試某個字元串是否已規范化為特定的範式。使用 Normalize 方法可創建規范化為特定範式的字元串。