聚集Collection的技巧

简介:
1、  MAP
特点:同键的新值将覆盖旧值。
示例:
        Map<String, String> map =  new HashMap<String, String>();
        String str;
        str = map.put("1", "a");  // str=null
        str = map.put("1", "b"); // str=a
        str = map.put("1", "c");  // str=b 新值覆盖旧值,最后map只有(1,c)一个值。返回的b是被覆盖的值

循环遍历:
        Map<String, Long> map =  new HashMap<String, Long>();
        map.put("a",  new Long(1));
        map.put("b",  new Long(2));

         for (Map.Entry<String, Long> entry : map.entrySet()) {
            String key = entry.getKey();
            Long value = entry.getValue();
        }

2、Set
特点:无序排列,不会存在重复的值,添加重复值也不会报错.Set可以加入null值
示例:
        Set < String >  set  =    new  HashSet < String > ();
          boolean  b;
        b  =  set.add( " 1 " );  //  b=true 
        b  =  set.add( " 2 " );  //  b=true 
        b  =  set.add( " 1 " );  //  b=false 
        b  =  set.add( " 2 " );  //  b=false 返回值为false,表示没有加入

3、List
特点:有序排序,可以加入重复的元素
示例:
        Arrays.asList(  new  String[] { " 11 " ,  " 222 "  });  //  返回一个不可改的List 
        List < String >  l  =  Arrays.asList( " 11 " ,  " 222 " ,  " 333 " );
        l.subList( 1 ,  2 );   //  由第二个和第三个元素生成一个新List 

        ArrayList < String >  list  =    new  ArrayList < String > (l);   //  生成一个可改的List 
          boolean  b;
        b  =  list.add( " 11 " );  //  b=true  List可以加入重复的元素 
        b  =  list.add( " 11 " );  //  b=true

4、Collections
特点:Collections.class是集合的工具方法类
示例:
        List<String> list1 =  new ArrayList<String>();
        List<String> list =  new ArrayList<String>();

        Collections.sort(list);  // 排序
         int pos = Collections.binarySearch(list, "key"); // 用二叉树算法来查找,首先得排序好
        System.out.println("pos=" + pos);

        Collections.copy(list, list1);  // 把list1复制到list上,原list元素被覆盖
        Collections.fill(list, "ss");  // 用"ss"填充list
        Collections.max(list);  // 找最大元素
        Collections.reverse(list);  // 把排序
        Collections.shuffle(list); // 混乱排序

        Collections.singleton("ss"); // 返回一个Set集合,不可改,只有ss一个元素
        Collections.unmodifiableList(list); // 返回一个不可改的新的List,原list不变
        Collections.synchronizedList(list); // 返回一个同步的新的List,原list不变

5、Properties
特点:Properties继承自Hashtable,是Map的一个实现。不过它在读取Properties文件方法特别方便
示例:
        Properties p = System.getProperties();  // 得到系统属性
        p.list(System.out); // 打印所有

         /*
         * 从user.home=C:\Documents and Settings\chengang
         * 读取properties文件填充到Properties
         
*/
        Properties p2 = System.getProperties();  // 得到系统属性
        File file =  new File(p.getProperty("user.home"), "argo.user.properties");
        p2.load( new FileInputStream(file));
        System.err.println("------------------------------");
        p2.list(System.out);
目录
相关文章
|
3月前
|
存储 Java 索引
Collection集合
Collection集合
|
6月前
|
索引
单列集合顶层接口Collection
单列集合顶层接口Collection
34 1
|
SQL 分布式计算 大数据
`collect_set`函数用于将一组数据收集到一个集合中
`collect_set`函数用于将一组数据收集到一个集合中
239 1
|
6月前
|
存储 安全 Java
集合技术文章
集合技术文章
|
6月前
|
存储 Java 索引
集合进阶Collection集合
这篇文档介绍了Java中的Collection集合和其子类List与Set的基本概念和特性。
49 3
|
6月前
|
Python
Pandas进阶--map映射,分组聚合和透视pivot_table详解
Pandas进阶--map映射,分组聚合和透视pivot_table详解
128 0
|
存储 监控 Java
Set集合去重(详细篇)
Set集合去重(详细篇)
188 0
|
Java 索引
Collection 集合的遍历
Collection 集合的遍历
61 0
|
存储 算法 安全
|
Shell
List集合如何去重?
将 l i s t 集 合 放 入 L i n k e d H a s h S e t 集 合 中 , 然 后 再 重 新 添 加 到 l i s t 集 合 中 。 \color{#FF0000}{将list集合放入LinkedHashSet集合中,然后再重新添加到list集合中。}将list集合放入LinkedHashSet集合中,然后再重新添加到list集合中。
105 0
List集合如何去重?