java 泛型 集合嵌套 Collections中的sort(list)方法
2017-12-19 21:32
633 查看
一、重点内容泛型
1.增加了代码安全性
* 2.省去了强制转换的麻烦(向下转型)
*/
二、集合嵌套
三、Collections中的sort(list)方法
这个方法是系统提供的排序方法
* 但是 按什么去排序 系统不知道你要怎么排序
* 这时系统给你提供一个接口 让你去实现这个接口
* 接口中 你要写排序规则(回调思想)
*
* 集合中盛放的什么对象 就让该对象去实现这个接口(排谁谁实现)
*
* 使用Collections中的sort方法排序步骤
* 1.让集合中被排序的对象 的类 去实现Comparable接口
* 2.实现接口中 的抽象方法(排序是按什么规则的方法)
* 3.编写排序规则
* 4.调用Collections.sort测试
1.增加了代码安全性
* 2.省去了强制转换的麻烦(向下转型)
*/
public class Demo01 { public static void main(String[] args) { // fun1(); // fun2(); // fun3(); // 泛型类 // 泛型类是在创建对象的时候 给泛型赋类型 Worker<String> worker = new Worker<>(); worker.setT("haha"); String t = worker.getT(); System.out.println(worker.getT()); } private static void fun3() { // 泛型的由来 ArrayList<Student> list = new ArrayList<>(); list.add(new Student("跳跳", "15")); list.add(new Student("好好", "15")); list.add(new Student("带带", "15")); // 泛型可以将 运行时的错误 转到编译器 // Worker worker = (Worker)list.iterator().next(); // worker.work(); } private static void fun2() { // 需求:集合中保存了 3个学生对象 迭代器遍历(使用泛型) // 在JDK1.7 菱形泛型 // 后面的泛型 可以不写 如果不写 默认和声明时泛型一致 // 如果前后泛型都写 必须保存一致 ArrayList<Student> list1 = new ArrayList<>(); list1.add(new Student("跳跳", "15")); list1.add(new Student("好好", "15")); list1.add(new Student("带带", "15")); ListIterator<Student> listIterator = list1.listIterator(); while (listIterator.hasNext()) { Student next = listIterator.next(); System.out.println(next); } } /* * 集合保存泛型是字符串的 */ private static void fun1() { // 声明一个集合 保存a b c d 迭代器遍历 // 泛型 声明 集合中保存的元素是什么类型的 ArrayList<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); ListIterator<String> listIterator = list.listIterator(); // 正向遍历 // while (listIterator.hasNext()) { // String next = listIterator.next(); // System.out.println(next); // } // 逆向遍历 // 判断前一个元素是否有值 while (li 9f76 stIterator.hasPrevious()) { // 取出前一个元素 String previous = listIterator.previous(); System.out.println(previous); } } }
二、集合嵌套
public class Demo05 { public static void main(String[] args) { // 需求:一个java学科 有2个班 每个班里有2个学生 // 用集合来表示 // 我有一个通讯录 26个组 // a b ...z // 每组9人 // 创建一个学科的集合 // 学科中装了两个小集合, // 小集合里面装了学生 ArrayList<ArrayList<Student>> subjects = new ArrayList<>(); // 创建小集合 ArrayList<Student> classes1 = new ArrayList<>(); // 把学生装进小集合 classes1.add(new Student("明明", "15")); classes1.add(new Student("天天", "16")); // 创建班2 ArrayList<Student> classes2 = new ArrayList<>(); // 把学生装进小集合 classes2.add(new Student("发发", "19")); classes2.add(new Student("财财", "18")); // 把班放进学科 subjects.add(classes1); subjects.add(classes2); // 遍历打印 // 第一层把班找出来 for (ArrayList<Student> classes : subjects) { // 第二层 把班里学生找出来 for (Student student : classes) { System.out.println(student); } System.out.println(); } } }
三、Collections中的sort(list)方法
这个方法是系统提供的排序方法
* 但是 按什么去排序 系统不知道你要怎么排序
* 这时系统给你提供一个接口 让你去实现这个接口
* 接口中 你要写排序规则(回调思想)
*
* 集合中盛放的什么对象 就让该对象去实现这个接口(排谁谁实现)
*
* 使用Collections中的sort方法排序步骤
* 1.让集合中被排序的对象 的类 去实现Comparable接口
* 2.实现接口中 的抽象方法(排序是按什么规则的方法)
* 3.编写排序规则
* 4.调用Collections.sort测试
ublic class Demo04 { public static void main(String[] args) { ArrayList<Student> students = new ArrayList<>(); students.add(new Student("a","15")); students.add(new Student("c","18")); students.add(new Student("d","14")); students.add(new Student("e","16")); students.add(new Student("f","17")); // 调用系统的排序方法 // (底层调用了你实现接口中的排序规则方法) Collections.sort(students); System.out.println(students); } }
相关文章推荐
- 用Java集合中的Collections.sort()方法对list排序的两种方法
- Java Collections.sort方法对list集合排序
- 用Java集合中的Collections.sort方法对list排序的两种方法
- Java中使用Collections.sort()方法对数字和字符串泛型的LIst进行排序
- 用Java集合中的Collections.sort方法如何对list排序(两种方法)
- Java Collections.sort方法对list集合排序
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- (好使)用Java集合中的Collections.sort方法对list排序的两种方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- JAVA对list集合进行排序Collections.sort()
- Java List<>排序——重载Collections.sort方法
- Java中应用Collections工具类的Sort()方法对List进行排序
- java 中的 collections.sort() 方法对list的排序
- Java集合中List的Sort()方法进行排序
- Java List重载Collections.sort方法排序