JAVA集合类笔记

Java类集合:

如果我们知道需要多少数据,我们可以定义一个一定大小的数组;如果我们不知道多少数据,则可以用类集合。他其实也就是一个动态的对象数组。

collection:

    List:(接口,可以重复内容)

        ArrayList:(子类,有序,异步处理,非线程安全类)

            add()/addAll()

            remove()/removAll()

            get()

            toArray()

            

        Vector:(子类,同步处理,线程安全类和ArrayList相似,但不如ArrayList)

        LinkedList:(链表,FIFO,实现了Queue接口)

            add()/addFirst()/addLast()

     1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
     2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
     3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

如果是查找多一些,用ArrayList;

如果是增删多一些,用LinkedList;

        
    Set:(接口,不可以重复内容)

        HashSet:(子类,不能重复的元素,没有顺序)

            add()

        TreeSet:(子类,进去无序,出来有序,实现了SortedSet接口)

            add()

        SortedSet:(接口,TreeSet是实现了他)

            add()

    Queue:队列借口,FIFO

    SortedSet:可以对数据进行排序

Map:(接口,K-V对,不像List和Set一样是单值,)

    HashMap:(子类,无序,key不能重复)

        put()

        get()

        containsKey()    //key是否存在

        containValue()   //value是否存在

        keyset().    //全部的key

        values ().   //全部的value

    TreeMap:(子类,可以按key排序)

    WeakHashMap:(子类,暂时不用的数据会被清除掉)

    IdentityHashMap(子类,key可以重复)

    SortedMap:(接口,TreeMap是他的子类)

其他集合类:

    stack

    properties

集合的输出:

    Iterator(最常用,迭代输出)

        hasNext()

        next()

        remove()

    ListIterator(双向迭代输出)

        hasNext()

        hasPrevious()

        next()

        remove()

    foreach(可以数组和集合的输出)

        for(String str : list)

            {System.out.print(str + “‘、”)}

PS:这里对于一些子类,只写了一部分方法,更多的方法可以去google,其中接口比较重要的是List和Map,需要重点掌握!

/*********List例子**********/
​
import java.util.ArrayList;
​
import java.util.List;
​
import java.util.Iterator;
​
public class Listdemo{
​
  public static void main(String[] args){
​
    List list = new ArrayList();
​
    list.add(“z”);
​
    list.add(“m”);
​
    Iterator iter = list.iterator();
​
    while(iter.hasNext()){
​
      System.out.print(iter.next() + “、”);
​
      if(“c”.equals(iter.next())){
​
      iter.remove();
​
      }else{
​
        continue;
​
        }
​
    }
​
  }
​
}
​
/*******************Map例子******************/
​
import java.util.HashMap;
​
import java.util.Map;
​
import java.util.Iterator;
​
import java.util.Set;
​
public class Mapdemo{
​
  public static void main(String[] args){
​
    Map map = new HashMap();
​
    map.put(“name”,”zm”);
​
    map.put(“age”,”24”);
​
    Set> allmap = map.entrySet();
​
    Iterator> iter = allmap.iterator();
​
    while(iter.hasNext()){
​
      Map.Entry me = iter.next();
​
      System.out.print(me.getKey() + “—>” + me.getValue());
​
    }
​
  }
​
}
​
​
/*******************Map例子2******************/
import java.util.HashMap;
​
import java.util.Map;
​
import java.util.Iterator;
​
import java.util.Set;
​
public class Mapdemo{
​
  public static void main(String[] args){
​
    Map map = new HashMap();
​
    map.put(“name”,”zm”);
​
    map.put(“age”,”24”);
​
    for(Map.Entry me : map.entrySet()){
​
      System.out.print(me.getKey() + “—>” + me.getValue());
​
    }
​
  }
​
}

你可能感兴趣的:(JAVA集合类笔记)