集合相关

原创 2012年03月26日 20:28:43

1.介绍

2.小结

基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作。 
性能上,ArrayList和HashMap分别比Vector和Hashtable要好。
SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序

3.技巧

1.arraylist 去除重复

Set  set= new HashSet();  
List list = new ArrayList(); 
set.addAll(list); //将list中的值加入set,并去掉重复的abc  

2.Map的遍历
 

//最常规的一种遍历方法
    public static void work(Map<String, Student> map) {
        Collection<Student> c = map.values();
        Iterator it = c.iterator();
        for (; it.hasNext();) {
            System.out.println(it.next());
        }
    }

  //利用keyset进行遍历,
    public static void workByKeySet(Map<String, Student> map) {
        Set<String> key = map.keySet();
        for (Iterator it = key.iterator(); it.hasNext();) {
            String s = (String) it.next();
            System.out.println(map.get(s));
        }
    }

  //比较复杂的一种遍历在这里
    public static void workByEntry(Map<String, Student> map) {
        Set<Map.Entry<String, Student>> set = map.entrySet();
        for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
            Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
            System.out.println(entry.getKey() + "--->" + entry.getValue());
        }
    }

3.关于排序
    主要是针对TreeMap    利用Key排序   Key为对象  

   思路:其实就是实现Comparable接口

/**
  * TreeMap排序
  * @return
  */
 private TreeMap<ObjectKey,Object> getNewTree(){
  return new TreeMap<ObjectKey,Object>(
     new Comparator<ObjectKey>() {
      public int compare(ObjectKey o1, ObjectKey o2) {
       return o2.getFlowid()-o1.getFlowid(); //排序
      }
    });
 }
 TreeMap sortMap = getNewTree();
 sortMap.put(......)

有关Java集合类的10大问题

原文地址:Top 10 questions about Java Collections
  • snarlfuture
  • snarlfuture
  • 2013年12月05日 01:14
  • 1779

集合框架的基本操作

一、概述 1、为什么会出现集合类? 面向对象语言对事物的描述都是以对象的形式,为了方便对多个对象的操作,就需要对对象进行存储,集合就是存储对象最常用的一种方式。 2、数组和集合类都是容器,有什么...
  • biedazhangshu
  • biedazhangshu
  • 2015年10月19日 17:13
  • 637

Java集合类相关面试题

ArrayList LinkedList Vector Set TreeSet Map HashMap HashTable面试中经常碰到的一些集合类...
  • hai_cheng001
  • hai_cheng001
  • 2014年07月22日 21:50
  • 2240

java基础知识---java集合类知识点解说

  这篇文章主要是解说一下"我终于理解精通java的"精通"意思(一)"里面我提到的相关java知识点,在上一篇文章中我一共面试他有如下的知识点:设计模式(一般指GOF23种设计模式),java常用集...
  • stan001140
  • stan001140
  • 2010年03月20日 09:17
  • 740

使用集合组织相关数据

1.ArrayList   类似于数组,称数组列表,ArrayList可以动态维护,可以自动扩容。   命名空间:using System.Collections   属性: ...
  • qq_39799629
  • qq_39799629
  • 2018年01月03日 17:04
  • 24

Java(八) Collection集合必备知识

一 集合:集合是存储对象数据的集合容器 Collection 单例集合的根接口 ———-| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。 ———-| Se...
  • class2class
  • class2class
  • 2016年06月26日 19:13
  • 509

Java的集合之算法篇与遗留的集合

四、算法 1>排序与混排 Collections类中的sort方法可以对实现了List接口的集合进行排序。 a>如果想按照降序对列表进行排序,可以使用一种非常方便的静态方法Collection...
  • u014482758
  • u014482758
  • 2016年02月06日 15:36
  • 663

set集合最经典的编程题型

1、定义一个Teacher类 name 和 age两属性 2、循环创建n(假设为5)个Teacher对象,( name teacher1 age 10 name teacher2 age 20 ...
  • miachen520
  • miachen520
  • 2016年06月14日 19:05
  • 173

有关集合算法的实现一些学习笔记

前言:手机太烂不好意思在地铁上拿出来玩,于是看了会算法与数据结构,想看看以前在学校没好好学的一些东西,于是乎今天看了集合这一块,以前没好好学,工作后也没用到,最近有个想法想做个东西出来,貌似要用到集合...
  • iukey
  • iukey
  • 2012年01月12日 08:57
  • 3558

latex 集合相关代码

%应该包含 \usepackage{amsmath,amssymb}ss 集合 表示效果 实数集合 \mathbb{R} R \mathbb{R} 复数集合 \mat...
  • u011491972
  • u011491972
  • 2017年01月06日 14:56
  • 291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集合相关
举报原因:
原因补充:

(最多只允许输入30个字)