北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟徐东校区
  • 北大青鸟光谷校区
  • 北大青鸟高新校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

17740513250

百日千才

java学习新手入门-了解Collection的各种子类

发布日期:2023-03-31来源:武汉北大青鸟武汉校区作者:武汉宏鹏

  java学习新手入门需要了解Collection的各种子类,下面武汉北大青鸟武汉宏鹏光谷校区老师将为学员们介绍相关java技术,请仔细阅读。

        java集合框架支持三种主要类型的集合:规则集(Set),线性集(List)和队列(Queue)。Set的实例用于存储不重复的元素,List的实例用于存储一个有元素构成的有序集合,Queue的实例用于存储先进先出方式处理的对象。

  Set具体类是:散列类HashSet,链式散列类LinkedHashSet,树形集TreeSet.HashSet的默认初始容量16而客座率为0.75.

  List 具体: ArrayList 和 LinkedList 具体区别就是 linkedList可以在任意位置插入删除等操作,而arraylist的好处就是效率高。

  谈一下规则集和线性表的效率性能。

  import java.util.*;

  public class SetListPerformanceTest

  {

  public static void main(String[] args)

  {

  Collection set1 = new HashSet();//HashSet

  System.out.println("Time"+getTestTime(set1,5000)+"milliseconds");

  Collection set2 = new LinkedHashSet();//LinkedHashSet

  System.out.println("Time"+getTestTime(set2,5000)+"milliseconds");

  Collection set3 = new TreeSet();//TreeSet

  System.out.println("Time"+getTestTime(set3,5000)+"milliseconds");

  Collection set4 = new ArrayList();//ArrayList

  System.out.println("Time"+getTestTime(set4,5000)+"milliseconds");

  Collection set5 = new LinkedList();//LinkedList

  System.out.println("Time"+getTestTime(set5,5000)+"milliseconds");

  }

  public static long getTestTime(Collection c,int size){

  long startTime = System.currentTimeMillis();

  //add numbers 1,2,3,……size-1 to the array list

  List list = new ArrayList();

  for(int i=0;i

  list.add(i);

  }

  Collections.shuffle(list);//shuffle the array

  for(int element : list)

  c.add(element);

  Collections.shuffle(list);

  for(int element:list)

  c.remove(element);

  long endTime = System.currentTimeMillis();

  return endTime-startTime;

  }

  }

  通过上面的列子可以发现 规则集比线性表的效率高。但是还是要按照具体需求去选择。

  ArrayList与vector 不同的是访问和修改向量的同步方法。使用ArrayList效率比vector高。

  stack是vector的子类

  队列(Queue)和优先队列(priorityQueue):队列是一种先进先出的数据结构。元素被追加在队尾,然后在队头被删除。

  优先队列中 元素被赋予优先级。高优先级的元素先被删除

  linkedList 实现了Deque接口,Deque接口又拓展了Queue接口。 因此可以用LinkedList接口来创建一个队列。

  图(Map):散列图(HashMap),链式散列图(LinkedHashMap)和树形图(TreeMap)

  HashMap中条目的顺序是随机的。TreeMap的条目是按照升序排列的。LinkedHashMap中的条目是按元素后一次呗访问的时间从早到晚排序的。

  import java.util.*;

  public class CountWordOfCurrent

  {

  public static void main(String[] args)

  {

  //set text in a string

  String text = "Good moring. Have a good class."+"Have a good visit. Have fun!";

  //create a treemap to hold words as key and count as value

  TreeMap map = new TreeMap();

  String[] words = text.split("[ \n\t\r.,;!:?(){]");

  for(int i=0;i

  String key = words[i].toLowerCase();

  if(key.length()>0){

  if(map.get(key) == null){

  map.put(key,1);

  }

  else{

  int value = map.get(key)。intValue();

  value++;

  map.put(key,value);

  }

  }

  }

  //create all entries into a set

  Set

  //get key and value from each entry

  for(Map.Entry entry : entrySet){

  System.out.println(entry.getValue()+"\t"+entry.getKey());

  }

  }

  }

         想了解更多java技术,请继续关注武汉北大青鸟官网技术栏目,我们将为大家提供更多的技术学习指导。

关闭

只为了方便您就学 北大青鸟光谷校区 北大青鸟武汉校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出

Copyright (c) 2006-2023 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.