集合
UML图
List Set
Map
单链表
双向链表
哈希表
arraylist
import java.util.*;
public class test1 {
public static void main(String[] args) {
Collection c=new ArrayList();
Integer i1=new Integer(10);
c.add(i1);
Integer i2=new Integer(10);
System.out.println(c.contains(i2));
a a1=new a(1);
c.add(a1);
a a2=new a(1);
System.out.println(c.contains(a2));
}
}
class a{
int i;
a(int i){
this.i=i;
}
}
list
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class test2 {
public static void main(String[] args) {
List c=new LinkedList();
c.add(10);
c.add(100);
c.add(1000);
Iterator i =c.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}
HashSet
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class test3 {
public static void main(String[] args) {
Set s=new HashSet();
s.add(100);
s.add(1);
s.add(111);
s.add(7);
s.add(7);
s.add(88);
s.add(2);
s.add(3);
Iterator i =s.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}
重写hashcode+equals
import java.util.HashSet;
import java.util.Set;
public class test4 {
public static void main(String[] args) {
Set es=new HashSet();
Emp e1= new Emp("111","J");
Emp e2= new Emp("111","J");
Emp e3= new Emp("112","r");
Emp e4= new Emp("113","d");
es.add(e1);
es.add(e2);
es.add(e3);
es.add(e4);
System.out.println(es.size());
}
}
class Emp{
String no;
String name;
Emp(String no,String name){
this.no=no;
this.name=name;
}
public boolean equals(Object o){
if(this==o){
return true;
}
if(o instanceof Emp){
Emp e=(Emp)o;
if(e.no.equals(this.no) && e.name.equals(this.name)){
return true;
}
}
return false;
}
public int hashCode(){
return no.hashCode();
}
}
Map
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class test5 {
public static void main(String[] args) {
Map m=new HashMap();
m.put(1, "a");
m.put(2, "b");
m.put(3, "d");
m.put(4, "e");
m.put(5, "f");
Set keys=m.keySet();
Iterator it=keys.iterator();
while(it.hasNext()){
Object _key=it.next();
Object _value=m.get(_key);
System.out.println(_key+"->"+_value);
}
}
}
sortedmap
import java.util.Iterator;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
public class test6 {
public static void main(String[] args) {
SortedMap ps=new TreeMap();
Product p1=new Product("西瓜",1.0);
Product p2=new Product("苹果",4.0);
Product p3=new Product("香蕉",2.0);
Product p4=new Product("桃子",5.0);
ps.put(p1, 8.0);
ps.put(p2, 8.1);
ps.put(p3, 8.2);
ps.put(p4, 8.3);
Set keys =ps.keySet();
Iterator it =keys.iterator();
while(it.hasNext()){
Object k =it.next();
Object v =ps.get(k);
System.out.println(k+"-->>"+v+"kg");
}
}
}
class Product implements Comparable{
String name;
double price;
public Product(String name, double price) {
super();
this.name = name;
this.price = price;
}
@Override
public String toString() {
return "Product [name=" + name + ", price=" + price + "]";
}
@Override
public int compareTo(Object o) {
double p1=this.price;
double p2=((Product)o).price;
if(p1<p2){
return -1;
}else if(p1>p2){
return 1;
}else{
return 0;
}
}
}