arraylist字符串中的反转

时间:2011-12-25 18:31:21

标签: java

我试图在一个arraylist中反转一些字符串的内容,我想知道这是否可能使用标准类[.reverse()。toString()]。例如,我有一个arraylist,其中包含以下条目:

    mySuperArray=[the cost of apple is USD2, the cost of oranges are USD1.50]

以及我想要的是在上面的数组中反转这些字符串的东西:例如:

    hArray=[2DSU si elppa fo tsoc eht, etc..]

我现在使用的是:

    ArrayList<String> hArray= new ArrayList<String>();
    hArray = new StringBuffer(mySuperArray).reverse().toString();

其中,mySuperArray的定义方式与hArray相同。

但是在这个阶段我遇到了编译错误:

    cannot find symbol
    symbol  : constructor StringBuffer(java.util.ArrayList<java.lang.String>)
    location: class java.lang.StringBuffer
    hArray = new StringBuffer(mySuperArray).reverse().toString();

为什么我会收到此编译错误?可能有什么不对? 对不起,如果问题是一个相当新手的问题。

3 个答案:

答案 0 :(得分:2)

没有StringBuffer构造函数接受ArrayList - 它意味着什么?

创建一个新列表,迭代原始列表,将每个字符串的反向添加到新列表中。或者,用反向替换每个列表项。 (不是“功能”。)

答案 1 :(得分:1)

错误是您无法使用构造函数StringBuffer(ArrayList)。您可以在线参考Java文档以查看可以使用的构造函数。 http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuffer.html(这是Java 1.5)。因此,您可以使用的最接近的构造函数是StringBuffer(String)。

ArrayList hArray= new ArrayList();
for(String s :mySuperArray){
   hArray.add(new StringBuffer(s).reverse().toString());
}

答案 2 :(得分:0)

public static void main(String[] args) throws IOException, ParseException, InterruptedException {
        ArrayList<String> obj = new ArrayList<String>();
        obj.add("A");
        obj.add("B");
        obj.add("C");
        obj.add("D");
        obj.add("E");
        System.out.println("Entered :: "+obj);
        for(int i=obj.size()-1; i>=0; --i){
            System.out.println("Values :: "+obj.get(i));
            obj.add(obj.get(i));
            obj.remove(i);
        }
        System.out.println("Reversed :: "+obj);
}