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