Java的集合类

系统 1598 0

Java的集合类 就好比一个容器,用来盛放Java类的对象。有些容器内所放的东西是可以操作的,而有些则是不可以的。

Java的集合类是由java.util包所提供的,常用的有Map,Set和List,而Set和List实现了Collection接口。

1.认识Collection接口

Collection接口 是Set接口和List接口的父接口,通常情况下不被直接使用,但定义了一些通用方法,通过这些方法可以实现对集合的基本操作。

Collection接口的常用方法如下:

1) add(): 向集合中添加对象

2) remove(): 向集合中移除对象

3) isEmpty(): 判断当前集合是否为空

4) iterator(): 返回迭代器,用于遍历集合中的对象

5) size(): 获取集合中元素的个数

6) clear(): 清空集合

7) contains(): 判断集合中是否存有指定的对象

8) addAll(): 把指定集合中所有的对象添加到集合中

Collection接口常用方法实例代码如下:

    /**
 *Colletion接口常用方法实例
 */

import java.util.*;

public class CollectionDemo {
 /**
  *方法描述:输出集合类的元素
  *输入参数:Collection<String> list
  *返回类型:void
  */
 public static void printCollectionElem(Collection<String> list) {
  if(!list.isEmpty()) {//isEmpty()方法的使用
    System.out.println("集合不为空,集合中的元素:");
    Iterator<String> it = list.iterator();//iterator()方法的使用

    while(it.hasNext()) {
      System.out.println(it.next());
    }
  }
 }

 public static void main(String[] args) {
  String str1 = "深圳大学";
  String str2 = "中山大学";
  String str3 = "暨南大学";

  Collection<String>list = new ArrayList<String>();
  list.add(str1);//add()方法的使用
  list.add(str2);
  list.add(str3);
  
  printCollectionElem(list);

  Collection<String>list1 = new ArrayList<String>();
  list1.addAll(list);//addAll()方法的使用
  printCollectionElem(list1);

  list1.remove(str1);//remove()方法的使用
  printCollectionElem(list1);

  System.out.println("list中的元素个数:" + list.size());//size()方法的使用

  Collection<String>list2 = new ArrayList<String>();
  list2.add(str1);
  list2.add(str3);
  list.removeAll(list2);//removeAll方法的使用
  printCollectionElem(list2);
  printCollectionElem(list);

  list.clear();//也等价于list.removeAll(list);
  printCollectionElem(list);
 }
}
  

运行结果如下所示:

Java的集合类
2.认识Map集合

Map集合 包括 Map接口 实现Map接口的类

map接口没有继承Collection接口,提供key到value的映射。map接口的常用方法如下:

1) clear(): 清空

2) isEmpty(): 判断集合元素是否为空

3) size(): 获取集合元素的个数

4) put(key k,value v): 向集合中添加键值映射

5) get(Object key): 返回指定键对象所对应的值

6) keySet(): 返回该集合中所有键对象形成的Set集合

7) values(): 返回该集合中所有值对象形成的Collecion集合

Map接口的实现类有HashMap类和TreeMap类。如果经常需要添加、删除和定位映射关系,建议利用HashMap类实现Map集合,不过在遍历集合时,得到的映射关系可能是无序的,若是需要有序,可以利用TreeMap类。Map集合的遍历需要先获得Key集合和Value集合,再分别遍历。

关于Map集合的实例代码如下:

    /**
 *Map集合的实例
 */
import java.util.*;

class User {
 public User(String id,String name) {
  this.id = id;
  this.name = name;
 
 }

 public void setName(String name) {
  this.name = name;
 }
 public String getName() {
  return this.name;
 }
 public void setId(String id) {
  this.id = id;
 }
 public String getId() {
  return this.id;
 }

 private String id;
 private String name;
 
}

public class MapDemo {
 public static void main(String[] args) {
  Map map = new HashMap();
  User user1 = new User("001","tom");
  User user2 = new User("002","jack");
  User user3 = new User("003","steven");
 
  map.put(user1.getId(),user1.getName());
  map.put(user2.getId(),user2.getName());
  map.put(user3.getId(),user3.getName());
  
  Set set = map.keySet();
  if(!set.isEmpty()) {
   Iterator it = set.iterator();
   System.out.println("HashMap类实现的Map集合,内容如下:");
   while(it.hasNext()) {
    String str = (String)it.next();
    String name = (String)map.get(str);
    System.out.println(str + " " + name);
   }
  }
 
  TreeMap treeMap = new TreeMap();
  treeMap.putAll(map);
  Iterator it1 = treeMap.keySet().iterator();
  System.out.println("TreehMap类实现的Map集合,内容如下:");
   while(it1.hasNext()) {
    String str = (String)it1.next();
    String name = (String)map.get(str);
    System.out.println(str + " " + name);
   }
 }
}
  

运行结构如下所示:

Java的集合类

3.认识Set集合和List集合

Set集合包括Set接口和实现Set接口的类,List集合包括List接口和实现List接口的类,Set接口和List接口都继承Collection接口。Set集合不可以存在重复的对象,因而对重复的对象不进行添加操作。List集合可以存在重复的对象,也可以对重复的对象进行添加操作。

Set接口常用的实现类有HashSet类和TreeSet类。List接口常用的实现类有ArrayList类和LinkList类。ArrayList类采用数组结构保存对象,便于对集合进行快速的随机访问,但是对于插入或删除指定索引位置的对象效能较差,尤其是对于大数据问题。LinkList类采用链式结构保存对象,便于对集合指定索引位置进行插入或删除操作,但是遍历速度较慢。关于Set接口以及实现的类和List接口以及实现的类的常用方法可以阅读J2SE官方文档。

4.总结

1.Java集合类包括Map集合、Collection接口以及继承了Collection接口的Set集合和List集合。Map集合包括Map接口和实现Map接口的常用类HashMap与TreeMap,Set集合包括Set接口和实现Set接口的常用类HashSet与TreeSet,List集合包括List接口和实现List接口的常用类ArrayList与LinkList。

2.java集合好比一个容器,用来放对象的。Java集合里面的元素都是对象,通过各种方法可以完成添加、删除、插入、遍历等操作。

参考资料

【1】明日科技 李钟尉,陈丹丹编著.Java编程宝典.北京:人民邮电出版社,2010.

Java的集合类


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论