面试4---集合对比

来源:互联网 发布:数据录入员工作的细节 编辑:程序博客网 时间:2024/05/18 03:27
package com.ithe


import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;


/**
 * 4、 Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?
 * 
 * @author nn
 *解:
 * Collections是java.utils下的类,是针对集合类的一个工具类,提供了一系列静态方法,实现堆集合的查找、
 *排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。
 * Collection是java.utils下的接口,他是各种集合结构的父接口,继承于他的接口主要有Set和List,提供了
 *关于集合的一些操作,例如:插入、删除、判断一个元素是否其成员、遍历等。
 *
 *List: 存入元素有序,元素都有索引。元素可以重复。
 *Set:存入元素无序(除了LinkedHashSet),不可以存储重复元素。必须保证元素的唯一性。
 *
 *Map集合:
 * Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键 null值。
 * HashMap: 底层是哈希数据表结构,是线程不同步的。可以存储null键和值。替代了Hashtable
 * TreeMap: 底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。
 */
public class Test4 {
//使用java7特性 演示Collections的用法
public static void main(String[] args) {
Map<String,Integer> map = new LinkedHashMap<>();
for (int i= 97;i<101;i++)
{
map.put(String.valueOf((char)i), i);
}
//打印
for(String set:map.keySet())
{
System.out.println("key:"+set+",value:"+map.get(set));
}

//把map中的值转为list集合
Collection<Integer> collection =  map.values();
List<Integer> list = new ArrayList<>(collection);
Collections.sort(list);//排序
System.out.println(Collections.max(list));//返回最大值
Collections.reverse(list);//按逆序排列
for(Integer in: list)
{
System.out.println(in);
}
}


}
0 0
原创粉丝点击