java基础知识(容器)-01
2018-04-03 19:53
405 查看
一:各个集合类之间的关系
二:个人总结
三
3.1 迭代器:
package com.vvut; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("a"); list.add("a"); list.add("c"); // 返回一个迭代器对象 Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()+""); } } }截图
3.2 :比较器:
package com.vvut; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * * StringList{"hello1" , "hello3" , "hello2"}, Collections.sort( stringList ) 能够得到正确的排序, 那是因为 String 这个对象已经帮我们实现了 Comparable接口 , 所以我们的 Person 如果想排序, 也要实现一个比较器。 * */ public class Test { public static void main(String[] args) { List<Student> list=new ArrayList<Student>(10); list.add(new Student(1,"飞")); list.add(new Student(0,"阿里")); list.add(new Student(0,"京东")); list.add(new Student(2,"美团")); Collections.sort(list); //内部比较器:要排序的对象实现Comparable接口,可以对自身进行比较 System.out.println(list); List<Teacher> t=new ArrayList<Teacher>(10); t.add(new Teacher(1,12)); t.add(new Teacher(0,13)); t.add(new Teacher(0,14)); t.add(new Teacher(2,15)); Collections.sort(t,new StudentComparator()); //外部比较器:通过实现Comparat 4000 or接口 System.out.println(t); } } class Student implements Comparable { int num; String name; public Student(int num, String name) { this.num = num; this.name = name; } @Override public String toString() { return "\r\tnum:"+num+" name:"+name+"\r"; } /** * 实现的抽象方法,返回值大于0表示对象大于参数对象; * 小于0表示对象小于参数对象;等于0表示两者相等 * 从大到小排序 */ public int compareTo(Object o) { Student tmp=(Student) o; int result=tmp.num<num?1:(tmp.num==num?0:-1); //比较姓名的ACDI码 if (result==0) { result=tmp.name.indexOf(0)>name.indexOf(0)?1:-1; } return result; } } class Teacher{ int num; double salary; public Teacher(int num, double salary) { this.num = num; this.salary = salary; } @Override public String toString() { return "\r\tnum:"+num+" salary:"+salary+"\r"; } } /** *它的实现者被称为比较器 * */ class StudentComparator implements Comparator{ public int compare(Object o1, Object o2) { Teacher t1=(Teacher) o1; Teacher t2=(Teacher) o2; int result=t1.num>t2.num?1:(t1.num==t2.num?0:-1); //result相等比较薪水 return result=result==0?(t1.salary<t2.salary?1:-1):result; } }
截图
相关文章推荐
- Java基础知识强化之IO流笔记39:字符流缓冲流之复制文本文件案例01
- Java基础知识(自己不会的)01
- 黑马程序员---------java 基础知识复习(foreach、Arrays、String、StringBuffer、容器类)
- Java基础知识强化01:short s = 1; s = s + 1;与short s = 1; s += 1;
- 黑马程序员01_基础知识和Java开发环境搭建
- 黑马程序员——Java语言基础——01.基础知识【基本常识】【java概述】【配置环境变量】
- 黑马程序员_01Java基础知识总结
- java01.基础知识
- Java容器之旅:容器基础知识总结
- Java基础(极客)——01、Java编程基础知识入门:变量与数据类型
- Java基础知识之容器(一:容器整体框架探索)
- Java基础知识学习之路-01
- Java基础知识之容器(一)
- Java Web基础知识之Servlet容器初始化(无web.xml)
- 《Spring 3.x 企业应用开发实战》学习笔记 第三章 IoC容器概述 3.2 相关Java基础知识 类装载器 反射机制
- 黑马程序员--01.Java开发前奏--01.基础知识
- Java中容器基础知识小结
- Java基础01-java基础知识
- Java基础知识——容器浅析
- java基础知识----应用程序容器与服务器的区别与联系