У мене є список, в якому є такі дані [1-123,2-456,6-654]
.
Мені потрібно розділити роздільник на "-" і зберегти першу частину в одному списку, а другу - в іншому.
List clientIds = new ArrayList();
List chipIds = new ArrayList();
String delimiter = "-";
for(int i=0;i<selectedClientChips.size();i++){
// How to add them in 2 lists???
}
Відповіді:
5 за відповідь № 1Додайте ці три рядки в for
петля:
String[] splitList = selectedClientChips.get(i).toString().split(delimiter);
clientIds.add(splitList[0]);
chipIds.add(splitList[1]);
1 для відповіді № 2
Split
і add
перший елемент у першому списку та наступний елемент у наступному списку.
String[] strArr;
for (int i = 0; i < selectedClientChips.size(); i++) {
strArr = selectedClientChips.get(i).split(delimiter);
clientIds.add(strArr[0]);
chipIds.add(strArr[1]);
}
1 для відповіді № 3
Ви можете спробувати це:
for(int i=0;i<selectedClientChips.size();i++){
String []splitArray=selectedClientChips.get(i).split(delimiter);
clientIds.add(splitArray[0]);
chipIds.add(splitArray[1]);
}
1 для відповіді № 4
Це має працювати ...
for(int i=0;i<selectedClientChips.size();i++){
// get element and split it
String element[] = selectedClientChips.get(i).split(delimiter);
// add each part to one list
clientIds.add(element[0]);
chipIds.add(element[1]);
}
1 для відповіді № 5
Для розділення рядка "N-NNNN" ви можете використовувати метод .split класу String.
Дивіться Java Doc:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)
Метод split повертає масив рядків із розбитими значеннями.
Для струни "1-123"
в .split("-");
повертає {"1", "123"};
Покращений приклад:
import java.util.*;
import java.lang.*;
import java.io.*;
public class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String selectedClientChips[] = {"1-123", "2-456", "6-654"};
List clientIds = new ArrayList();
List chipIds = new ArrayList();
String delimiter = "-";
for(int i=0;i<selectedClientChips.length;i++){
String split[] = selectedClientChips[i].split(delimiter);
if (split.length == 2) {
clientIds.add(split[0]);
chipIds.add(split[1]);
}
}
System.out.println("CliendIDs: " + clientIds.toString());
System.out.println("ChipIDs: " + chipIds.toString());
}
}
Вихід:
CliendIDs: [1, 2, 6]
ChipIDs: [123, 456, 654]
Робочий приклад:
0 для відповіді № 6
Це має працювати для ваших потреб:
List<String> selectedClientChips = new ArrayList();
selectedClientChips.add("1-123");
selectedClientChips.add("2-456");
List clientIds = new ArrayList();
List chipIds = new ArrayList();
for(int i=0;i<selectedClientChips.size();i++){
String[] r = selectedClientChips.get(i).split("-");
clientIds.add(r[0]);
chipIds .add(r[1]);
}