A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lt3886930 中级黑马   /  2016-6-21 21:54  /  420 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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);
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马