1. Set
1. TreeSet
TreeSet
1、存储Integer的元素,升序排列
2、存储String的元素,字典排列
TreeSet根据元素的不同类型使用不同的排序规则
public class test01 {
/**
* 知识点:TreeSet
* 1、存储Integer的元素,升序排列
* 2、存储String的元素,字典排列
* 特点:自然排序
* TreeSet根据元素的不同类型使用不同的排序规则
*
* @param args
*/
public static void main(String[] args) {
TreeSet<Integer> set = new TreeSet<>();
set.add(7);
set.add(5);
set.add(4);
set.add(6);
set.add(8);
set.add(9);
set.add(2);
set.add(1);
set.add(3);
for (Integer element:set
) {
System.out.print(element+" ");
}
System.out.println();
TreeSet<String> set2 = new TreeSet<>();
set2.add("c");
set2.add("d");
set2.add("a");
set2.add("b");
set2.add("e");
set2.add("f");
set2.add("e");
for (String element:set2
) {
System.out.print(element+" ");
}
}
}
2. Comparable - 接口(内置比较器)
比较器的优先级别:外置比较器>内置比较器
public int compareTO(T o);
public class XXX implements Comparable<Student>{
//排序规则:按照自己的需求来写
@Override
public int compareTo() {
//TreeSet场景中:
//this表示要添加的对象
//o表示在TreeSet中已经存储的对象
return this.XX - o.XX;
}
}
面试题:项目人员分配怎么样?
前端:2-4人
后端:3-6人
测试:多个项目一个测试
UI:多个项目一个UI
3. Comparator - 接口(外置比较器)
TreeSet<> set = new TreeSet<>(new Comparator<>){
@Override
public int compareTo(XX,XX) {
//比较代码
return;
}
}
2. Map
1. HashMap
知识点:HashMap
存储数据方式为键值存储
Map的遍历-KeySet()
获取map中所有的key,存入Set集合,遍历Set集合依次把key值取出来,利用map.get(key)获取value值//获取的value是无序的
特点:
无序+key去重,value允许重复
package com.wz.hashmap_class;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Set;
public class test01 {
/**
* 知识点:HashMap
* 存储数据方式为键值存储
* @param args
*/
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
//添加元素
map.put("张三",20);
map.put("李四",21);
map.put("王五",22);
map.put("赵六",23);
map.put("张七",24);
//通过key获取value
Integer integer = map.get("张三");
System.out.println("通过key获取value:"+integer);
System.out.println("-----------");
//map.clear();
System.out.println("判断map中是是否包含某个key:"+map.containsKey("张三"));
System.out.println("判断map中是是否包含某个key:"+map.containsValue("20"));
System.out.println("判断map集合是否没有元素:" + map.isEmpty());
//根据key删除映射关系
map.remove("张三");
//根据key+value删除映射关系
map.remove("张三", 20);
System.out.println("获取集合元素个数:" + map.size());
//获取map集合中所有的value
Collection<Integer> values = map.values();
System.out.println(Arrays.toString(values.toArray()));//集合->数组->字符串
//Map的遍历-KeySet()
//获取map中所有的key,存入Set集合,遍历Set集合依次把key值取出来,利用map.get(key)获取value值
//获取的value是无序的
Set<String> set = map.keySet();
for (String key:set
) {
Integer integer1 = map.get(key);
System.out.println(key+"-----"+integer1);
}
System.out.println("-------------");
}
}
package com.wz.hashmap_class;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class test02 {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
//添加元素
map.put("张三",20);
map.put("李四",21);
map.put("王五",22);
map.put("赵六",23);
map.put("张七",24);
//遍历- entrySet()
//获取map中所有的映射关系对象(Entry),存入Set集合一次把Entry取出来,获取Entry中的键和值
Set<Map.Entry<String, Integer>> entries = map.entrySet();
for (Map.Entry<String,Integer> entry:entries
) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key+"-----"+value);
}
}
}
package com.wz.hashmap_class;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class test02 {
/**
* HashMap的特点:
* 无序+key去重,value允许重复
* @param args
*/
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
//添加元素
map.put("aaa",20);
map.put("bbb",20);
map.put("ccc",20);
map.put("ddd",23);
map.put("ddd",25);
Set<Map.Entry<String, Integer>> entries = map.entrySet();
for (Map.Entry<String,Integer> entry:entries
) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key+"-----"+value);
}
}
}
标签:11,map,Comparable,set,System,add,key,put,TreeSet
From: https://blog.51cto.com/u_15098423/6458302