Java Basic Programming,试图反转数组列表元素

时间:2015-01-24 16:17:32

标签: java eclipse arraylist

我试图反转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);
    }
}

2 个答案:

答案 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