#java #arraylist #split
#java #arraylist #разделить
Вопрос:
Я хочу разделить указанную ниже строку и сохранить ее в двух отдельных массивах, таких как state и city
public class RoundValue {
public static void main(String args[]) {
String firstset = null;
String city = "Tamilnadu;chennai-madurai-salem::Kerala;cochin-tiruvandrum-calicut";
ArrayList<String> mState = new ArrayList<String>();
ArrayList<String> mCity = new ArrayList<String>();
HashMap<String, List<String>> hashsplit = new HashMap<String, List<String>>();
List<String> splitword1 = Arrays.asList(city.split("::"));
if (splitword1.size() > 0) {
for (int i = 0; i < splitword1.size(); i ) {
firstset = splitword1.get(i);
List<String> firststate = Arrays.asList(firstset.split("-"));
if (firststate.size() > 0) {
for (int j = 0; j < firststate.size(); j ) {
String firstcity = firststate.get(j);
List<String> secondcity = Arrays.asList(firstcity.split(";"));
if (secondcity.size() > 0) {
for (int k = 0; k < secondcity.size(); k ) {
String septcity = secondcity.get(k);
System.out.println("septcity Splitted:" septcity);
}
}
}
}
}
}
}
}
Я разделил каждый символ, но мне нужно сохранить состояние в отдельном списке и город в отдельном списке
Комментарии:
1. Какие значения должны оказаться в двух списках?
2. в одном состоянии списка (Тамилнаду, Керала) и в другом списке городов (Ченнаи, Мадурай, ….)
Ответ №1:
Шаг 1: разделите заданный строковый ввод, как Arrays.asList(city.split("::"));
вы уже это сделали.
Шаг 2: разделите каждый список на массив, например Tamilnadu;chennai-madurai-salem
, используя String both[]=string.split(";");
здесь, вы получите отдельные штаты и города. Нравится both[0] is State
. оба [1] являются chennai-madurai-salem
Шаг 3: разделите строку cities в обоих [1] usig both[1].split("-")
Итак, демонстрационный код, который я привел, приведен ниже. Вы можете изменить.
public static void main(String[] args) {
String city = "Tamilnadu;chennai-madurai-salem::Kerala;cochin-tiruvandrum-calicut";
ArrayList<String> mState = new ArrayList<String>();
ArrayList<String> mCity = new ArrayList<String>();
List<String> bothList= Arrays.asList(city.split("::"));
for (String string : bothList) {
String both[]=string.split(";");
String state=both[0];
List<String> tempCityList=Arrays.asList(both[1].split("-"));
mState.add(state);
mCity.addAll(tempCityList);
}
System.out.println("Your states");
for (String string : mState) {
System.out.print(string " ");
}
System.out.println("nYour cities");
for (String string : mCity) {
System.out.print(string " ");
}
}
Ответ №2:
Вот пример
import java.util.ArrayList;
import java.util.Arrays;
/**
* Created by Prasad on 6/17/2014.
*/
public class stack {
public static void main(String[] args) {
String s="Tamilnadu;chennai-madurai-salem::Kerala;cochin-tiruvandrum-calicut";
ArrayList<String> x1=new ArrayList<String>();
ArrayList<String> x2=new ArrayList<String>();
String string[]=s.split("::");
for(String y:string){
try{
String[] temp=y.split(";");
x1.add(temp[0]);
x2.add(temp[1]);
}catch(Exception e){}
}
System.out.println(x1.toString());
System.out.println(x2.toString());
}
}