6

I want to split the below mentioned string and save it in two seperate arraylist like state and 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);

                            }
                        }
                    }
                }
            }
        }

    }
}

I have splitted each and every character, but i have to store state in seperate list and city in seperate list

2
  • What values should end up in the two Lists? Commented Jun 17, 2014 at 5:20
  • in one list state(Tamilnadu,kerala) and in another list cities(chennai,madurai,....) Commented Jun 17, 2014 at 5:26

2 Answers 2

4

Step 1: Split your given string input as Arrays.asList(city.split("::"));, you alresy did it.

Step 2: Split each list in to array like, example Tamilnadu;chennai-madurai-salem using String both[]=string.split(";"); here you will get seperated state and cities. like both[0] is State. both[1] is chennai-madurai-salem

Step 3: Split the cities string in both[1] usig both[1].split("-")

So Demo code I have given as below. You can modify.

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+" ");
        }


    }
Sign up to request clarification or add additional context in comments.

Comments

1

Here is the example

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());
    }

}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.