zoukankan      html  css  js  c++  java
  • 集合类型的使用示例

    前言

      如C++中的STL,Java也提供了许多封装好了的数据结构。

      本文将大致介绍如何使用这些封装好了的数据结构。

    集合类型的特性

      1. Java中的集合类型采用的是策略和实现相分离的型式,也就是说提供集合的抽象定义,也提供集合的具体实现,用户可以按照自己的需要去继承,改写。

      比如,你可以定义一个链表类的对象变量,然后任你选择是让它采用何种实现。

      在之后的代码中,你只用知道这个链表类的对象,至于它是何种方式实现,一概不管。

      2. 所有的集合类型都继承了Collection接口和Iterator接口。

      这两个接口里面有很多很实用的方法,请读者自行查阅。

    集合类型的遍历方式

      STL中有迭代器,Java的集合类型中自然也有,而且Java中的迭代器是支持删除的(C++中不支持)。

      使用的方法和C++中很像,具体方法请参考下面示例代码。

    集合类型的种类

      1. List

      2. Set

      3. Map

      这三类集合的逻辑结构在C++部分的博客已提到过,和Java中是一样的,这里不再累述。

      但它们在Java中有更多的物理实现,当需要用到数据结构相关处理的时候,请根据需要查找相关资料,也许已经有封装好了的实现了。

    代码示例 - 以Set为例

     1 package test;
     2 
     3 import java.util.HashSet;
     4 import java.util.Iterator;
     5 import java.util.Set;
     6 
     7 /**
     8  * @author   FangMeng
     9  * @version  1.0.0
    10  * @2014-12-09
    11  */
    12 public class Java7Learn {
    13     
    14     public static void main(String[] args) {
    15         
    16         // 构造一个测试的Set集合
    17         Set<String> s = new HashSet<>();
    18         s.add(new String("1"));
    19         s.add(new String("2"));
    20         
    21         /*
    22          *  遍历
    23          */
    24         Iterator<String> i = s.iterator();
    25         while(i.hasNext()){
    26             System.out.println(i.next());
    27         }
    28         
    29         /*
    30          *  检索 
    31          */
    32         String testStr  = "1";
    33         if (s.contains(testStr)) {
    34             System.out.println("contain: " + testStr);
    35         }
    36         
    37         testStr  = "2";
    38         if (s.contains(testStr)) {
    39             System.out.println("contain: " + testStr);
    40         }
    41         
    42         testStr  = "3";
    43         if (s.contains(testStr)) {
    44             System.out.println("contain: " + testStr);
    45         }
    46         
    47     }
    48 }

    运行结果

      

    小结

      Java中的集合结构实现很多,在项目中根据需要多多查询手册,定可让开发更加效率。

  • 相关阅读:
    6_java_maven
    线性代数 linear algebra
    hadoop_wordcount_1027
    hadoop_worddistinct_1030
    hadoop_wordcount_1023
    搭建伪分布式_笔记
    linux-sunrpc
    linux-volatile
    linux---asmlinkage
    dqs_linux-1
  • 原文地址:https://www.cnblogs.com/scut-fm/p/4151978.html
Copyright © 2011-2022 走看看