本文共 8411 字,大约阅读时间需要 28 分钟。
(6个接口:Collection、Set、List、Map、Iterator、Comparable)
(http://blog.csdn.net/jiuqiyuliang/article/details/32697903)
import java.util.*;//包含Collection接口/*范例名称: * 原文件名称: * 要点: * 1. Collection基本结构图 * 2. Collections类 * 3. For、Generic、Auto-boxing / unboxing (循环、泛型、自动打包/解包) * 4. 六个接口: Collection、Set、List、Map、Iterator、Comparable */public class CollectionTest { public static void main(String[] args){ Collection c=new ArrayList(); //放入不容类型的对象 c.add("hello");//添加元素(增) c.add(new Name("f11","11")); c.add(new Integer(100)); System.out.println(c); Collection c2=new HashSet(); c2.add("hello"); c2.add(new Name2("f11","11")); c2.add(new Integer(100)); c2.remove("hello"); c2.remove(new Integer(100)); System.out.println(c2.remove(new Name2("f11","11"))); System.out.println(c2); //迭代器Iterator遍历(查) Collection c3=new HashSet();//无序 c3.add(new Name2("ffff1","11")); c3.add(new Name2("f2", "12")); c3.add(new Name2("fff3", "13")); Iterator i=c3.iterator(); while(i.hasNext()){ //next()的返回值是Object类型,需要强制类型转换 Name2 n=(Name2)i.next(); System.out.print(n.getFirstName()+" "); } System.out.println(""); //删除元素(删) for(Iterator i2=c3.iterator();i2.hasNext();){ Name2 name=(Name2)i2.next(); if(name.getFirstName().length()<5){ i2.remove();//不能换成c3.remove(name2); } } System.out.println(c3); //List实例 List list1=new LinkedList(); for(int j=0;j<9;j++){list1.add("Hello"+j);} Collections.shuffle(list1);//Collections类;随机排列list对象元素 System.out.println(list1); Collections.sort(list1);//排序 System.out.println(list1); Collections.reverse(list1);//逆序 System.out.println(list1); //对Name3类进行排序 List list2=new LinkedList(); list2.add(new Name3("China", "ch")); list2.add(new Name3("Japan", "jp")); list2.add(new Name3("Singapore", "sg")); list2.add(new Name3("Hongkong", "hk")); System.out.println(list2); Collections.sort(list2);//Sorts the specified list into ascending order, according to the natural ordering of its elements. All elements in the list must implement the Comparable interface. System.out.println(list2); //Map实例 Map m1=new HashMap(); Map m2=new TreeMap(); m1.put("one", new Integer(1));//1.5版本以前;之后可以用m1.put("one",1)代替,自动打包功能 m1.put("two", new Integer(3)); m2.put("A",new Integer(1)); m2.put("B", new Integer(2)); if(m1.containsKey("two")){ int k=((Integer)m1.get("two")).intValue(); System.out.println(k); } Map m3=new HashMap(m1); m3.putAll(m2); System.out.println(m3); //Map实例_泛型 Mapm11=new HashMap (); Map m12=new HashMap (); m11.put("one", 1); m11.put("two", 3); m12.put("A", 1); m12.put("B", 2); if(m11.containsKey("two")){ int m=m11.get("two");//Integer自动解包为int System.out.println(m); } Map m13=new HashMap (m11); m13.putAll(m12); System.out.println(m13); //检测String数组中相同字符串的数目 String[] testString=new String[5]; testString[0]="aa";testString[1]="bb";testString[2]="cc";testString[3]="bb";testString[4]="aa"; Map mTest=new HashMap (); for(int ii=0;ii list3=new LinkedList (); list3.add(new Name4("China", "ch")); list3.add(new Name4("Japan", "jp")); list3.add(new Name4("Singapore", "sg")); list3.add(new Name4("Hongkong", "hk")); System.out.println(list3); Collections.sort(list3);//Sorts the specified list into ascending order, according to the natural ordering of its elements. All elements in the list must implement the Comparable interface. System.out.println(list3); }}class Name{ private String firstName,lastName; public Name(String firstName,String lastName){ this.firstName=firstName;this.lastName=lastName; } public String getFirstName(){return firstName;} public String getLastName(){return lastName;} public String toString(){return firstName+" "+lastName;}//重写了toString方法 }class Name2{ private String firstName,lastName; public Name2(String firstName,String lastName){ this.firstName=firstName;this.lastName=lastName; } public String getFirstName(){return firstName;} public String getLastName(){return lastName;} public String toString(){return firstName+" "+lastName;}//重写了toString方法 //重写equals跟hashCode方法 public boolean equals(Object obj){ if(obj instanceof Name2){ Name2 name=(Name2)obj; return (firstName.equals(name.firstName) && lastName.equals(name.lastName)); } return super.equals(obj); } public int hashCode(){ return firstName.hashCode(); }}//Comparable接口class Name3 implements Comparable { private String firstName,lastName; public Name3(String firstName,String lastName){ this.firstName=firstName;this.lastName=lastName; } public String getFirstName(){return firstName;} public String getLastName(){return lastName;} public String toString(){return firstName+" "+lastName;}//重写了toString方法 //重写equals跟hashCode方法 public boolean equals(Object obj){ if(obj instanceof Name3){ Name3 name=(Name3)obj; return (firstName.equals(name.firstName) && lastName.equals(name.lastName)); } return super.equals(obj); } public int hashCode(){ return firstName.hashCode(); } //重写compareTo方法 public int compareTo(Object o){ Name3 n=(Name3)o; int lastCmp=lastName.compareTo(n.lastName); return (lastCmp!=0?lastCmp:firstName.compareTo(n.firstName)); }}//Comparable接口_泛型写法class Name4 implements Comparable { private String firstName,lastName; public Name4(String firstName,String lastName){ this.firstName=firstName;this.lastName=lastName; } public String getFirstName(){return firstName;} public String getLastName(){return lastName;} public String toString(){return firstName+" "+lastName;}//重写了toString方法 //重写equals跟hashCode方法 public boolean equals(Name4 name){ return (firstName.equals(name.firstName) && lastName.equals(name.lastName)); } public int hashCode(){ return firstName.hashCode(); } //重写compareTo方法 public int compareTo(Name4 o){ int lastCmp=lastName.compareTo(o.lastName); return (lastCmp!=0?lastCmp:firstName.compareTo(o.firstName)); }}
输出结果:
[hello, f11 11, 100]true[]fff3 ffff1 f2 [ffff1 11][Hello4, Hello2, Hello3, Hello0, Hello7, Hello6, Hello8, Hello1, Hello5][Hello0, Hello1, Hello2, Hello3, Hello4, Hello5, Hello6, Hello7, Hello8][Hello8, Hello7, Hello6, Hello5, Hello4, Hello3, Hello2, Hello1, Hello0][China ch, Japan jp, Singapore sg, Hongkong hk][China ch, Hongkong hk, Japan jp, Singapore sg]3{A=1, B=2, two=3, one=1}3{A=1, B=2, two=3, one=1}3 distinct words detected:{aa=2, bb=2, cc=1}[China ch, Japan jp, Singapore sg, Hongkong hk][China ch, Hongkong hk, Japan jp, Singapore sg]
首先要找到JDK安装目录,然后该目录下会有个src.zip文件,我们把它加载到Eclipse中就行了,然后在Eclipse中想查看某个方法或者某个类的源代码,直接选中按F3
下面那个Path就是你所安装JDK目录下的src.zip的路径
【引自:http://www.2cto.com/kf/201612/571310.html】
使用:
可以在 Java 源代码编辑器或代码片段编辑测试窗中选择类型、方法或字段的名称,然后对元素的定义打开编辑器。
在 Java 编辑器中,选择类型、方法或字段的名称。您也可以仅仅在名称中单击一次。
执行下列其中一项操作: 1.从菜单栏中,选择浏览 > 打开声明 2.从编辑器的弹出菜单中,选择打开声明 3.按 F3 键或者
1.按下 Ctrl 键。
2.在 Java 编辑器中,将鼠标移到类型、方法或字段的名称上,直到名称变为带有下划线为止。 3.单击一次超链接。如果具有多个同名的定义,则会显示一个对话框,您可以选择想要打开的一个定义。一个编辑器打开,它包含所选择的元素。
原文地址:http://ajava.org/course/tool/14485.html