我试图反转ArrayList的元素。我不确定为什么这不起作用。
import java.util.ArrayList;
import java.util.Scanner;
public class Sample1 {
public ArrayList reverse(ArrayList orig)
{
ArrayList reversed = new ArrayList();
for(int i= orig.size()-1; i>=0; i--)
{
Object obj= orig.get(i);
reversed.add(obj);
}
System.out.println("Value..." +reversed);
return reversed;
}
public static void main(String[] args) {
Sample1 samp= new Sample1();
System.out.println("Enter element to enter");
Scanner sc= new Scanner(System.in);
String a= sc.nextLine();
ArrayList<String> A= new ArrayList<String>();
A.add(a);
ArrayList<String> B= samp.reverse(A);
System.out.println("Arraylist" +B);
}
}
答案 0 :(得分:1)
您的程序几乎可以正常工作,您应该获得在控制台中输入的String
元素的反向列表。
与此同时,您无法获得单个元素列表的反向列表,因为结果列表只与参数1相同,而main
方法就是这种情况:
// The argument List is a one item list
ArrayList<String> A= new ArrayList<String>();
A.add(a);
// The resulting list will be identical to the A list as it contains one sole element
ArrayList<String> B= samp.reverse(A);
System.out.println("Arraylist" +B);
答案 1 :(得分:0)
除非这是一项练习,否则请考虑使用Collections.reverse。