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

来源:互联网 发布:狗可以在淘宝出售吗 编辑:程序博客网 时间:2024/06/06 11:48

泛型(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 --;        }    }
0 0
原创粉丝点击