有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将ArrayList中每个条目中的字符按相反顺序排列

我有一个包含多个条目的ArrayList,我想颠倒顺序或字符,所以如果我的代码如下所示:

public class Test {

ArrayList<String> aa = new ArrayList<String>();

aa.add("hello");
aa.add("goodbye");

(reverse them in some way)


}

那么我希望ArrayList包含:

olleh
eybdoog

我只是设法用集合更改了整个ArrayList中条目的顺序。倒过来,但这并不是我想要的


共 (4) 个答案

  1. # 1 楼答案

    这样做:

    Best way to reverse a string

        static void Main(string[] args)
        {
            var aa = new List<String>();
    
            aa.Add("hello");
            aa.Add("goodbye");
    
            var x = from s in aa select Reverse(s);
    
            foreach (var c in x)
                Console.WriteLine(c.ToString( ));
    
            Console.ReadLine();
        }
    
        public static string Reverse(string s)
        {
            char[] charArray = s.ToCharArray();
            Array.Reverse(charArray);
            return new string(charArray);
        }
    
  2. # 2 楼答案

    这是一个线性时间实现,在适当的位置修改列表

    public void reverseStr(List<String> theArgs) {
       for(int i = 0; i < theArgs.size(); i++) {
           String s = theArgs.get(i);
           theArgs.set(i, new StringBuffer(s).reverse().toString());
       }
    }
    
  3. # 3 楼答案

    ^{} class(可变字符串)包含一个反向操作,用于切换StringBuilder的字符

    int size = aa.size();
    for(int i = 0; i < size; ++i)
    {
        StringBuilder builder = new StringBuilder(aa.get(i));
        builder.reverse();    //reverse the StringBuilder
        aa.set(i, builder.toString());
    }
    
  4. # 4 楼答案

    快速脏版-更改原始ArrayList中的Strings

    for(int i = 0; i < aa.size(); i++) {
        aa.set(i, new StringBuilder(aa.get(i)).reverse().toString());
    }