使用泛型方法反转数组

时间:2017-05-02 06:46:43

标签: java collections

我在编写通用方法时编写了这段代码,现在我很好奇如何反转输出。我尝试使用集合来使用反向方法,并尝试使用带有常规for循环的索引,但我得到了索引号而不是实际的索引值。我怎么能改变名字的顺序呢?

public static void main(String[] args) {
        String[] names = {
            "hi", "you", "there"
        };

        printArray(names);
    }

    public static <T> void printArray(T[] array){
        for(T el : array){
            System.out.print(el + " ");
        }   
    }

2 个答案:

答案 0 :(得分:1)

这很容易。以另一种顺序遍历数组:

public static void main(String[] args) {
        String[] names = { "hi", "you", "there" };

        printArray(names);
    }

    public static <T> void printArray(T[] array) {
        for (int i = array.length - 1; i >= 0; i--)
            System.out.print(array[i] + " ");

    }

打印:

there you hi 

答案 1 :(得分:0)

你可以使用 Collections.reverse(Arrays.asList(names)); 此方法以线性时间运行。