下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

JAVA程序员提高教程(3)-认识Set集合之LinkedHashSet

作者:课课家教育     来源: http://www.kokojia.com点击数:835发布时间: 2016-02-01 14:20:01

标签: java课程标准21天学通javajava学习课程

大神带你学编程,欢迎选课

  有序的集合,就是LinkedList,内部通过双向链表实现,LinkedHashMap为基础。

  package collection.lession3;

  import java.util.Arrays;

  import java.util.HashSet;

  import java.util.LinkedHashSet;

  import java.util.Set;

  /**

JAVA程序员提高教程(3)-认识Set集合之LinkedHashSet_java课程标准_21天学通java_课课家

  *

  * LinkedHashSet与HashSet的区别就是数据严格按照插入的顺序存放。

  * 删除之后会去掉那个位置,新增的数据将在集合的末尾。

  * HashSet 内部使用HashMap实现

  * 而LinkedHashSet内部使用LinkedHashMap实现。

  *

  *

  */

  public class Lession3 {

  public static void main(String[] args) {

  test(new HashSet());

  test(new LinkedHashSet());

  }

  public static void test(Set set) {

  System.out.println(set.getClass().getName());

  // 增加10个数据

  for (int i = 100; i <= 110; i++) {

  set.add(i);

  }

  // 看看里面数据的情况

  showSet(set);

  // 删除一个数据

  set.remove(101);

  // 看看删除后的情况

  showSet(set);

  // 增加三个数据,看结果

  set.add(98);

  set.add(101);

  set.add(118);

  showSet(set);

  }

  /**

  * 显示Set里面的数据。

  *

  * @param set

  */

  private static void showSet(Set set) {

  System.out.println(Arrays.toString(set.toArray(new Integer[0])));

  }

  }

  测试:

  尝试按照自己的意愿,控制LinkedHashSet里面数据的顺序,比如删除第一个,再加入 ,则其出现在了末尾了。这个很像排队买票,一旦你中途退出了,就只能重新排队。是不 允许加塞的。

  总结:

  当我们处理集合,有想掌握其顺序的时候,可以考虑这个,当然List也是很好的选择 ,不过Hash算法,在查找数据的时候,比List性能要高的。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程