Java中 Map、Set、List的基本用法

原创 2014年05月14日 11:58:25
Java集合类分为三种 
Set(集合)
:集合中对象不按特定的方式排序。并且没有重复对象,但它有些实现类中的对象按特定方式排序。--无序,不能重复 
List(列表):集合中的对象按照检索位置排序,可以有重复对象,允许按照对象在集中的索引位置检索对象,List和数组有些相似。--有序,可以重复 

Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复,它的有些实现类能对集合中的键对象进行排序。

Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。
Set 和List 都继承了Conllection,但Map没有。

Collection接口的方法:
    boolean add(Object o)   :向集合中加入一个对象的引用
    void clear()                        :删除集合中所有的对象,即不再持有这些对象的引用
    boolean isEmpty()           :判断集合是否为空
    boolean contains(Object o): 判断集合中是否持有特定对象的引用
    Iterartor iterator()              : 返回一个Iterator对象,可以用来遍历集合中的元素
    boolean remove(Object o):从集合中删除一个对象的引用
    int size()                               :返回集合中元素的数目
    Object[] toArray()                 :返回一个数组,该数组中包括集合中的所有元素

关于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。


Set 的用法:
   在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中.主要应用在显示列表 存放的是对象的引用,没有重复对象

    Set set=new HashSet();
    String s1=new String("hello");
    String s2=s1;
    String s3=new String("world");
    set.add(s1);
    set.add(s2);
    set.add(s3);
    System.out.println(set.size());//打印集合中对象的数目 为 2。
    Set 的 add()方法是如何判断对象是否已经存放在集合中?
    boolean isExists=false;
    Iterator iterator=set.iterator();
    while(it.hasNext()){
        String oldStr=it.next();
        if(newStr.equals(oldStr)){
        isExists=true;
    }

List的用法:

List[<数据类型>] list = new ArrayList[<数据类型>]();
List的常用方法有:
获得集合内元素个数:list.size();

添加元素:
默认添加:list.add(e);
指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e);

删除元素:
返回是否删除:list.remove(e);
直接删除指定下标的元素(只删除找到的第一个相符合的元素):list.remove(index);

替换元素(替换掉指定下标的元素):list.set(index,e);

取出元素:list.get(index);

清空集合:list.clear();

判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e);

对比两个集合中的所有元素:
两个对象一定相等:list.equals(list2);
两个对象不一定相等:list.hashCode() == list2.hashCode();
(两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。)

获得元素下标:
元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);
元素存在则返回找到的最后一个元素的下标,不存在则返回-1:list.lastIndexOf(e);

判断集合是否为空(空则返回true,非空则返回false):list.isEmpty();

返回Iterator集合对象:list.iterator();

将集合转换为字符串:list.toString();

截取集合(从fromIndex开始在toIndex前结束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);

将集合转换为数组:
默认类型:list.toArray();
指定类型(objects为指定类型的数组对象,并将转换好的数组赋值给objects数组):list.toArray(objects);

Map的用法:

Map<Object,Object> map = new HashMap<Object, Object>();

map.put(Object key, Object value): 向集合中加入元素
map.remove(Object key):   删除与KEY相关的元素
map.putAll(Map t):   将来自特定映像的所有元素添加给该映像
map. clear(): 从映像中删除所有映射

遍历map的几种方法:

1、最罗嗦遍历Map的方法:

Set keys = map.keySet( );
if(keys != null) {
    Iterator iterator = keys.iterator( );
    while(iterator.hasNext( )) {
    Object key = iterator.next( );
    Object value = map.get(key);
    }
}
2、使用Map.Entry类,你可以得到在同一时间得到所有的信息。

Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的 对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。

Map.Entry同时也提供了一个setValue()方法

Map<Integer,String> map = new HashMap<Integer, String>();
map.put(001, "world");
map.put(002, "hello");
for(Map.Entry<Integer, String> entry:map.entrySet()){
    System.out.println(entry.getKey()+"==="+entry.getValue());
}
output:
1===world
2===hello
3、最简单的方法,使用增强for循环:
for (int key : map.keySet()) {
    System.out.println(key + " : " + map.get(key));
}




Java中Set的使用

在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中.主要应用在显示列表.Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e...
  • lushuaiyin
  • lushuaiyin
  • 2012年03月22日 00:08
  • 174608

Java中Set集合的使用

Set类继承了Conllection类,是一种集合类。Set的实现类有三个,下面我们会一一来说这些的不一样。      HashSet          HashSet类按照哈希算法来存取集合中的对象...
  • top_gun_1
  • top_gun_1
  • 2016年05月30日 09:36
  • 1884

java中set用法

在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中.主要应用在显示列表.Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals...
  • FL1623863129
  • FL1623863129
  • 2017年06月05日 07:54
  • 241

java set的使用

Set的继承关系: Collection   └Set Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实...
  • wjy320
  • wjy320
  • 2014年01月06日 16:34
  • 246

java中set集合的使用方法

1.HashSet  java.util.HashSet类实现了Java.util.Set接口。 它有如下特点:  1.它不允许出现重复元素;  2.不保证集合中元素的顺序  3.允许包...
  • u013399093
  • u013399093
  • 2015年08月18日 11:46
  • 23004

Java中set的简单用法

Set的最大特点是能去掉重复的元素并获取相应数据,下面看个简单的代码,先使用QBC查询出所有员工,在过滤掉重复的员工所在部门,最后得到所有员工的部门串: List list = employee...
  • tjcyjd
  • tjcyjd
  • 2011年10月14日 10:01
  • 17764

java中set接口使用方法详解

原文链接:http://www.jb51.net/article/83934.htm java中的set接口有如下的特点: 不允许出现重复元素; 集合中的元素位置无顺序; 有且只有...
  • watermelon_roy
  • watermelon_roy
  • 2016年08月11日 09:26
  • 189

java集合——HashSet的用法

java集合——HashSet的用法 一、HashSet的构造 HashSet hashset=new HashSet(); 二、HashSet添加元素 //向hashse...
  • tingzhiyi
  • tingzhiyi
  • 2016年08月08日 16:28
  • 9154

Java中Set的遍历

这东西久了没用就记不起来了,记一下。import java.util.HashSet; import java.util.Iterator; import java.util.Set; /** *...
  • qjlhlh
  • qjlhlh
  • 2011年07月12日 11:47
  • 52544

Java集合Set、Map、HashSet、HashMap、TreeSet、TreeMap等

1、Set和Map的关系: Set代表一种集合元素无序、不可重复的集合,Map代表一种由多个key-value对组成的集合。 Set的集合继承体系: Map关系集合 Map集合的key特征:所有k...
  • smileiam
  • smileiam
  • 2015年11月14日 16:50
  • 2593
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中 Map、Set、List的基本用法
举报原因:
原因补充:

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