1..Map<Integer, String> userMap = new HashMap<>();
userMap.size()
userMap.put(key,value)
//得到map实例中所有的value,返回值类型为Collection
Collection<T> values = map.values();
//获取map实例中所有的键(key),返回值类型为Set
Set set = map.keySet();
map.get();//形参为key的名字
方法作用:通过键(key)的名字获取和键相匹配的值(方法映射),如果key或者value为空,则返回null;
Object o = map.get(key);
map.remove()//形参为key
方法作用:根据key移除map中的与该key对应的value
//移除key为1的键值
map.remove("1");//移除后,map的size值减1
map.clear();//形参为空,返回值为空
方法作用:清空Map集合中所有的键值
结果:map的size值为0
map.putAll()//形参为map集合
方法作用:把一个map集合合并到另一个map集合里
HashMap是的key是不能重复的,如果有相同的key,最后一个key对应的value会把前一个相同的value覆盖掉
boolean containsKey(Object key)
检查map集合中有没有包含Key为key的元素,如果有则返回true,否则返回false。
boolean containsValue(Object value)
检出map集合中有没有包含Value为value的元素,如果有则返回true,否则返回false。
2.List<DisplayDTO> list = new ArrayList<>();
list.size()//集合容量
list.add(E element)//添加元素
list.add(int index, E element);在指定位置添加元素,前提是索引index不可大于list.size()
list.get(index)获取指定位置的元素,下标从0开始(插入元素有顺序)
list.remove(7);// 根据集合中元素下标位置来删除元素
list.toArray,可以将list转化为array,jdk中提供:
toArray有两个重载的方法:
(1)list.toArray();//对于第一个重载方法,是将list直接转为Object[] 数组;
(2)list.toArray(T[] a);//第二种方法是将list转化为与list内容相同的类型
例:第二种方法示例:String[] array =new String[list.size()];
list.toArray(array);
当把list转为array时,需要去除重复元素,可以把list先转化为set,再把set转化为array
list.isEmpty()与list != null的区别:
list.isEmpty();//判断list集合里有没有元素,list != null判断是否存在该list集合
例: System.out.println(list.isEmpty());//false
System.out.println(null!=list);//true
subList(var1,var2)方法,内有两个参数:返回一个子集合:从下标var1开始取元素至下标小于var2的所有元素(即:var1 <= 满足下标 <var2,左闭右开),list集合下标是从0开始。
//从list集合中去除指定下标的元素。
list.subList(1,3).clear();
//addAll()方法,向一个集合中添加另一个集合全部元素
boolean addAll(Collection<? extends E> c);
boolean addAll(int index, Collection<? extends E> c);//可以指定插入位置
addAll方法中的集合c不可以传入null值,否则会有异常,该方法没有线程安全的设置,当传入的参数c正在被另一个线程操作时,其结果是不确定的。
3.Set<String> ss=new HashSet<String>();
set数组是一个不包含重复元素,(插入元素没有顺序)无序的元素的集合。
set.size()表示set集合中元素个数
因为Set没有下标也没有key,所以没有修改的方法
set数组中不存在get()方法;
往set中添加元素使用的是add(element)方法,但是在set中没有add(index , element)方法。
mySet.remove("a"); //删除数组中的"a"元素
set_a.removeAll (set_b). //从set_a中删除集合set_b中所有元素,即批量删除
mySet.isEmpty(); //判断数组是否为空
mySet.clear(); //清除数组中的所有内容,set.size()为0
部分代码验证:
public class TestList {
@Test
public void testListTranslateToSet () {
List<Integer> listTest = new ArrayList<>();
listTest.add(1);
listTest.add(2);
listTest.add(3);
listTest.add(5);
listTest.add(6);
listTest.add(7);
listTest.add(6);
listTest.add(3);
System.out.println("去重前:");
for (Integer item : listTest) {
System.out.print(" "+item);
}
System.out.println();//1 2 3 5 6 7 6 3
System.out.println("去重中:");
Set<Integer> testSet = new HashSet(listTest);
for (Integer item : testSet){
System.out.print(" "+item);
}
System.out.println();//1 2 3 5 6 7
System.out.println("去重后:");
List<Integer> list = new ArrayList<>(testSet);
for (Integer item : list) {
System.out.print(" "+item);
}
System.out.println();//1 2 3 5 6 7
List<Integer> testList2 = new ArrayList<>();
testList2.add(11);
testList2.add(12);
testList2.add(13);
list.addAll(testList2);
System.out.println("添加:");
for (Integer item : list) {
System.out.print(" "+item);
}
System.out.println();//1 2 3 5 6 7 11 12 13
Map<Integer, String> mapTest = new HashMap<>();
mapTest.put(1, "测试1");
mapTest.put(2, "测试2");
mapTest.put(3, "测试3");
mapTest.put(4, "测试4");
mapTest.put(5, "测试5");
Set<Integer> keySet = mapTest.keySet();
Collection<String> valueCollection = mapTest.values();
System.out.println("map中单独获取value的List");
for (String item : valueCollection) {
System.out.println(item);
}
System.out.println();//测试1 测试2 测试3 测试4 测试5
System.out.println("map中利用keySet遍历value");
for (Integer item : keySet) {
System.out.println(mapTest.get(item));
}
System.out.println();//测试1 测试2 测试3 测试4 测试5
Map<Integer, String> mapTest2 = new HashMap<>();
mapTest2.put(4, "测试16");
mapTest2.put(5, "测试17");
mapTest2.put(6, "测试18");
mapTest2.put(7, "测试19");
mapTest2.put(8, "测试20");
mapTest2.putAll(mapTest);
for (Map.Entry<Integer, String> item : mapTest2.entrySet()) {
System.out.print("key:" + item.getKey() + " ");
System.out.print("value:" + item.getValue());
System.out.print(";");
}
System.out.println();
//key:1 value:测试1;key:2 value:测试2;key:3 value:测试3;key:4 value:测试4;key:5 value:测试5;key:6 value:测试18;key:7 value:测试19;key:8 value:测试20;
}
}