问题描述:我有一堆如下字符串"2017-03-06 21:00:23",需要将其分解成“2017-03-06”和“21:00:23"的形式,然后分别存在一个集合里,再遍历集合输出这些数据。
结果如图:
一、利用substring解析
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AnalysisString {
public static void main(String[] args) {
Map<String,String> newDates=new HashMap<String,String>();
suibian.put("date1", "2017-03-06 21:00:23");
suibian.put("date2", "2017-03-07 21:20:23");//创建伪数据
List<String> dateList =new ArrayList<>();//存放DATE
List<String> timeList =new ArrayList<>();//存放TIME
for(int i=1;i<=2;i++){
String str1=newDates.get("date"+i).substring(0, newDates.get("date"+i).indexOf(" "));
dateList.add(str1);//加入DATE
String str2=newDates.get("date"+i).substring(newDates.get("date"+i).indexOf(" "));
timeList.add(str2);//加入TIME
}
for(String s:dateList){ //增强for循环,本质是迭代器
System.out.println(s);
}
for(String s:timeList){
System.out.println(s);
}
}
}
二、利用split("分割的界限")解析,此处用空格作为分隔符
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AnalysisString {
public static void main(String[] args) {
Map<String,String> newDates=new HashMap<String,String>();
suibian.put("date1", "2017-03-06 21:00:23");
suibian.put("date2", "2017-03-07 21:20:23");
List<String> dateList =new ArrayList<>();
List<String> timeList =new ArrayList<>();
for(int i=1;i<=2;i++){
String dt[]=newDates.get("date"+i).split(" ");
dateList.add(dt[0]);
timeList.add(dt[1]);
}
for(String s:dateList){
System.out.println(s);
}
for(String s:timeList){
System.out.println(s);
}
}
}