我如何单独调用arraylist中的字符串?

时间:2013-06-03 03:06:08

标签: java string arraylist jtable jdatechooser

我正在制作一个程序,用于生成两个日期之间的日期。日期来自DateChooser。当我单击一个按钮时,两个日期之间的日期生成如下:

    date1 Jun 5, 2013  
    date2 June 20, 2013

使用此代码

    Calendar cal2 = Calendar.getInstance();
    cal2.setTime(toDate);
    while (cal2.getTime().before(newDateString)) {
        cal2.add(Calendar.DATE, 1);
        String datelist=(format.format(cal2.getTime()));
        System.out.println(datelist);

它将生成此输出

2013-06-18
2013-06-19
2013-06-20
2013-06-21
2013-06-22
2013-06-23
2013-06-24
2013-06-25
2013-06-26
2013-06-27
2013-06-28
2013-06-29
2013-06-30
2013-07-01
2013-07-02

我的问题是我想在JTable上输出。我尝试像string那样调用datelist中的每个System.out.println(arrayImageList.get(2));,但它不起作用。如何将datelist输出到JTable或单独调用datelist中的每个元素?

    final String oldy= ("yyyy-MM-dd");
    final String newy = ("MMMM dd, yyyy");

    SimpleDateFormat formatty = new SimpleDateFormat(oldy);
    java.util.Date datey=null;

    //format the final date output to MMMM-dd-yyyy
    try {
        datey=formatty.parse(datelist);
        java.util.Date newqwe2 = new SimpleDateFormat(oldy).parse(datelist);
        String eqweqwe = new SimpleDateFormat(newy).format(newqwe2);

        ArrayList<String> arrayImageList = new ArrayList<String>();
        List<String> strlist2 = new ArrayList<String>();

        arrayImageList.addAll((List<String>) Arrays.asList(eqweqwe));                                                                   

        for(int i = 0; i < arrayImageList.size(); i++){
            strlist2.add(arrayImageList.get(i));

            System.out.println(strlist2.get(2));

很抱歉这篇文章很长,但我只是希望你们能够完成整个过程以防万一。“

1 个答案:

答案 0 :(得分:0)

在我看来,你正在做很多不必要的工作。如果您使用Calendar个对象,则可以非常有效地执行此操作。将两个日期放在Calendar的对象中,并将其命名为toDatefromDate。您只需运行while循环,不断增加fromDate,直到大于toDate并将其打印出来。

Calendar fromDate;
Calendar toDate;

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

while(fromDate.compareTo(toDate) < 0)
{
   System.out.println(df.format(fromDate.getTime()));
   fromDate.add(Calendar.DATE, 1);
}

您还可以使用循环来处理其他事情(例如,为JTable填充列表或模型)。在这种情况下,只需列出StringDate个对象,然后只需将getTime()format()的回复放入列表/模型中。