第十七天:
Conllection(List Set(TreeSet HashSet))
Map(TreeMap HashTable HashMap)
1,区别
TreeMap --红黑树
HashTable --哈希表 线程安全
HashMap --哈希表+红黑树 非线程安全
2,使用
k-key V-value
key不能重复 value可以
泛型
Student |
public class Student { private String name; private Integer age; private Double score; private String classNum;
public Student() { }
public Student(String name, Integer age, Double score, String classNum) { this.name = name; this.age = age; this.score = score; this.classNum = classNum; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Integer getAge() { return age; }
public void setAge(Integer age) { this.age = age; }
public Double getScore() { return score; }
public void setScore(Double score) { this.score = score; }
public String getClassNum() { return classNum; }
public void setClassNum(String classNum) { this.classNum = classNum; }
@Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", score=" + score + ", classNum='" + classNum + '\'' + '}'; } }
|
|
MySort implements Comparator |
import java.util.Comparator;
public class MySort implements Comparator { @Override public int compare(Object o1, Object o2) { Student s1 = (Student)o1; Student s2 = (Student)o2; int i1 = Integer.parseInt(s1.getClassNum().substring(5)); int i2 = Integer.parseInt(s2.getClassNum().substring(5)); if(i1>i2){ return 1; }else if(i1<i2){ return -1; } return 0; } }
|
|
Test |
import java.util.*;
public class Test { public static void main(String[] args){ /* TreeMap<String,String> tm = new TreeMap<String,String>(); tm.put("a","aaaaaaaaaaaaaaa"); tm.put("b","bbbbbbbbbbbbbbb"); tm.put("c","ccc"); tm.put("c","ddd"); tm.put("s","ddd");*/ //tm.put("c","ddddddddddddddd"); //tm.putAll(); //tm.remove("b"); //tm.remove("b","bbbbbbbbbbbbbbb"); //tm.replace("c","dddddd"); // tm.put("c","ddddddddddddddd"); // tm.replace("c","ccccccccccccccc","ssssss"); /* for(String key:tm.keySet()){ System.out.print(key+" "+tm.get(key)+";");
}*/ /*for (String value:tm.values()){ System.out.print(value+" "); }*/ // tm.clear(); // System.out.println(tm.containsKey("s")); // System.out.println(tm.containsValue("ccc")); // tm.size();
// System.out.println(tm);
// Hashtable<String,String> h = new Hashtable<>();
// HashMap<String,String> hm = new HashMap<>();
// hm.entrySet()
/*List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); for(String o:list){ System.out.println(o); }*/
/* Map<String,String> map = new HashMap<String,String>(); map.put("2006","yidali"); map.put("2002","baxi"); map.put("1998","faguo"); map.put("1994","baxi"); map.put("1990","deguo");
Scanner sc = new Scanner(System.in);*/ /*String year = sc.next(); if(map.containsKey(year)){ System.out.println(map.get(year)); }else { System.out.println("没有举办世界杯"); }*/ /*String g = sc.next(); boolean f = false; for(String key:map.keySet()){ if(map.get(key).equals(g)){ f = true; System.out.println(key); } } if(!f){ System.out.println("没有获得过世界杯"); }*/ /* Map<String,String> map = new HashMap<String,String>(); map.put("tom","java"); map.put("john","oracle"); map.put("susan","oracle"); map.put("jerry","jdbc"); map.put("jim","unix"); map.put("kevin","jsp"); map.put("lucy","jsp");
map.put("Allen","jdbc");
map.put("lucy","java");
Set<Map.Entry<String,String>> set = map.entrySet(); for(Map.Entry<String,String> m:set){ System.out.println(m.getKey()+":"+m.getValue()); }*/
/* List<Student> list = new ArrayList<>(); list.add(new Student("Tom", 18, 100.0, "class05")); list.add(new Student("Jerry", 22, 70.0, "class04")); list.add(new Student("Owen", 25, 90.0, "class05")); list.add(new Student("Jim", 30,80.0, "class05")); list.add(new Student("Steve", 28, 66.0, "class06")); list.add(new Student("Kevin", 24, 100.0, "class04"));*/ /* int totalAge = 0; for(Student s:list){ totalAge += s.getAge(); } System.out.println(totalAge/list.size());*/
/*Collections.sort(list,new MySort());
double t_score = 0; String classNum = ""; int count = 0; for(Student s:list){ if(classNum.equals(s.getClassNum())){ t_score += s.getScore(); }else { if(!classNum .equals("")){
System.out.println(classNum+":"+t_score/count); }
classNum = s.getClassNum(); t_score = s.getScore(); count = 0; } count++ ; } System.out.println(classNum+":"+t_score/count);*/
} }
|