黑马程序员技术交流社区

标题: 求教大神我这么做对吗? [打印本页]

作者: lt3886930    时间: 2016-6-21 21:54
标题: 求教大神我这么做对吗?
1.分析以下需求,并用代码实现:
        (1)定义一个方法swap()传入集合和两个角标使集合中元素交换位置()
        (2)思路
                a.定义一个临时变量, 记住其中一个元素
                b.用第一个位置存放第二个位置上的元素
                c.用第二个位置存放临时变量记住的元素


package com.heima.day16;
import java.util.ArrayList;
import java.util.List;
public class Test01 {
        /*
         * 1.分析以下需求,并用代码实现:
                (1)定义一个方法swap()传入集合和两个角标使集合中元素交换位置()
                (2)思路
                        a.定义一个临时变量, 记住其中一个元素
                        b.用第一个位置存放第二个位置上的元素
                        c.用第二个位置存放临时变量记住的元素
         */
        public static void main(String[] args) {
                //测试集合中存入字符串
                ArrayList<String> al = new ArrayList<>();
                al.add("a");
                al.add("b");
                al.add("c");
                al.add("d");
                System.out.println(al);
                swap(al,0,3);
                System.out.println(al);
                //测试集合中存入自定义对象
                ArrayList<Person> al2 = new ArrayList<>();
                al2.add(new Person("zs", 20));
                al2.add(new Person("ls", 30));
                al2.add(new Person("ww", 10));
                al2.add(new Person("zl", 40));
                al2.add(new Person("kw", 22));
                System.out.println("------------------");
                System.out.println(al2);
                swap(al2,0,4);
                System.out.println(al2);
        }
       
        //定义一个带泛型的方法
        public static void swap(List list,int index1,int index2) {
                //1.获取list集合中索引为index1的值
                Object obj = list.get(index1);
                //2.将集合中索引index1位置设置为索引index2的值
                list.set(index1, list.get(index2));
                //3.将集合index2位置设置为t
                list.set(index2, obj);
        }
       
        //定义一个带泛型的方法
        public static <T> void swap2(List<T> list,int index1,int index2) {
                //1.获取list集合中索引为index1的值
                T t = list.get(index1);
                //2.将集合中索引index1位置设置为索引index2的值
                list.set(index1, list.get(index2));
                list.set(index2, t);
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2