码迷,mamicode.com
首页 > 编程语言 > 详细

泛型(generic)颠倒数组中的所有元素

时间:2015-05-10 15:46:57      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:generic   颠倒数组中的所有元素   交换数组上的任意两个   entryset   集合   

泛型(generic)颠倒数组中的所有元素

我的java基础一直不是很好,最近抽出时间,来强化一下自己的基础知识,基本功扎实,才能走的更踏实。

对于Map集合,我们要熟练的使用增强额for循环机制(for each),其中entrySet method是很重要的。

@Test
    public void test1(){
        Map<String, Integer> map = new HashMap<String,Integer>();
        map.put("aa", 1);
        map.put("bb", 2);

        Set<Entry<String,Integer>> set = map.entrySet();
        for (Entry<String, Integer> entry : set) {
            System.out.println(entry.getKey() + "=" + entry.getValue());
        }
    }

再者就是在类上定义的泛型,只能对类的非静态成员变量有效,对非静态的无效。
为什么对静态成员无效?
我们只有在new这个类的实例的时候,才会给它指出泛型的具体类型,而静态的成员变量,我们可以直接类名.xxx就调用了,根本不会知道它的类型是什么。

    /**
     * 编写一个泛型方法,交换数组上的任意两个位置上的元素
     */
    private static <T> void swap(T[] arr, int pos1, int pos2) {
        T temp = arr[pos1];
        arr[pos1] = arr[pos2];
        arr[pos2] = temp;
    }

    /**
     * 编写一个泛型方法,接收一个任意数组,并颠倒数组中的所有元素
     * @param arr
     */
    private static <T> void reverse(T[] arr) {

        int start = 0;
        int end = arr.length-1;

        while (true) {

            if ( start>=end )
                break;

            T temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;

            start ++;
            end --;
        }

    }

泛型(generic)颠倒数组中的所有元素

标签:generic   颠倒数组中的所有元素   交换数组上的任意两个   entryset   集合   

原文地址:http://blog.csdn.net/u012301841/article/details/45620737

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!