1.Map
1.1 Map集合的概述和特点
1.2 Map集合的基本功能
import java.util.HashMap;
import java.util.Map;
public class MapDemo {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("001","test1");
map.put("002","test2");
map.put("003","test3");
System.out.println(map);
System.out.println(map.size());
map.remove("001");
System.out.println(map);
System.out.println(map.containsKey("002"));
System.out.println(map.containsValue("test3"));
}
}
输出结果:
{001=test1, 002=test2, 003=test3}
3
{002=test2, 003=test3}
true
true
1.3 Map集合的获取功能
import java.util.*;
public class MapDemo {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("001","test1");
map.put("002","test2");
map.put("003","test3");
System.out.println(map.get("002"));
Set<String> set = map.keySet();
System.out.println(set);
Collection<String> collection=map.values();
System.out.println(collection);
}
}
输出结果
test2
[001, 002, 003]
[test1, test2, test3]
2.4 Map集合的遍历
import java.util.*;
public class MapDemo {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("001","test1");
map.put("002","test2");
map.put("003","test3");
// 第一种遍历
Set<String> set = map.keySet();
for(String s :set ){
System.out.println(s+","+map.get(s));
}
// 第二种遍历
Set<Map.Entry<String,String>> set1= map.entrySet();
for(Map.Entry<String,String> me:set1){
String key = me.getKey();
String value = me.getValue();
System.out.println(key+","+value);
}
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class ArrayListIncludeHashMap {
public static void main(String[] args) {
ArrayList<HashMap<String,String>> list = new ArrayList<>();
HashMap<String,String> hashMap1= new HashMap();
hashMap1.put("001","test01");
hashMap1.put("002","test02");
list.add(hashMap1);
HashMap<String,String> hashMap2= new HashMap();
hashMap2.put("003","test03");
hashMap2.put("004","test04");
list.add(hashMap2);
//遍历
for(HashMap<String,String> hashMap : list){
Set<String> set = hashMap.keySet();
for(String s :set ){
System.out.println(s+","+hashMap.get(s));
}
}
}
}
输出结果:
001,test01
002,test02
003,test03
004,test04
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapIncludeArrayList {
public static void main(String[] args) {
HashMap<String,ArrayList<String>> listHashMap = new HashMap<>();
ArrayList<String> list1= new ArrayList<>();
list1.add("西施");
list1.add("貂蝉");
listHashMap.put("古代美女",list1);
ArrayList<String> list2= new ArrayList<>();
list2.add("萧蔷");
list2.add("刘青霞");
listHashMap.put("现代美女",list2);
Set<Map.Entry<String,ArrayList<String>>> set = listHashMap.entrySet();
for(Map.Entry<String,ArrayList<String>> listEntry : set){
String key = listEntry.getKey();
System.out.println(key);
ArrayList<String> value = listEntry.getValue();
for(String str : value){
System.out.println( "\t" +str);
}
}
}
}
输出结果:
现代美女
萧蔷
刘青霞
古代美女
西施
貂蝉
import java.util.*;
public class MapDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
Map<Character,Integer> map = new HashMap<>();
for(int i=0;i<str.length();i++){
char r = str.charAt(i);
if(!map.containsKey(r)){
map.put(r,1);
}else{
int num = map.get(r)+1;
map.put(r,num);
}
}
StringBuffer stb = new StringBuffer();
Set<Map.Entry<Character,Integer>> entrySet = map.entrySet();
for(Map.Entry<Character,Integer> me :entrySet){
stb.append(me.getKey()).append("(").append(me.getValue()).append(")");
}
System.out.println(stb.toString());
}
}
2.Collections
import java.util.*;
public class CollectionDemo {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
Student s1 = new Student("alisa",30);
Student s2 = new Student("tom",20);
Student s3 = new Student("leon",35);
list.add(s1);
list.add(s2);
list.add(s3);
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
int num = o1.age- o2.age;
int num2 = num==0?o1.getName().compareTo(o2.getName()):num;
return num2;
}
});
for(Student s : list){
System.out.println(s.getName()+","+s.getAge());
}
}
}
输出结果:
tom,20
alisa,30
leon,35