Java集合

ArrayList

// 存储的数据有序,可重复,内部使用 数组 存储数据
ArrayList one = new ArrayList();
//放数据用add,一般存储相同类型的数据
one.add("零");
one.add("一");
one.add("二");
one.add("三");

ArrayList two = new ArrayList();
two.add("四");
two.add("五");
//指定索引位置,插入数据
one.add(4,"四——");

one.addALL(two);//获取two的数据,并不改变数据
for(int i=0; i

举例:

package 集合类;

import java.util.ArrayList;
import java.util.Iterator;

public class ArrayList_try 
{
    public static void main(String[] args) {
        ArrayList a_list = new ArrayList();
        a_list.add("小明");
        a_list.add("小华");
        a_list.add("小芳");
        a_list.add("小刚");
        for (int i = 0; i < a_list.size(); i++) 
        {
            System.out.println(a_list.get(i));
        }
//      判断是否有某个字符串
        if (a_list.contains("小明")) 
        {
            System.out.println("小茗同学");
            a_list.add("小茗同学");
        }
//      定义另一个集合
        ArrayList t_List = new ArrayList();
        t_List.add("pig");
        t_List.add("dag");
        t_List.add("cat");
//      将另一个集合的数据传递个第一个集合
        a_list.addAll(t_List);
//      在第五个后面填上数据
        a_list.add(5, "又又");
//      移除数据
        a_list.remove(3);
        a_list.remove("小明");
        System.out.println("\n");
//      遍历
//      方法一:
//      for (String o : a_list) 
//      {
//          System.out.println(o);
//      }
//      方法二:
        Iterator iterator = a_list.iterator() ;
        {
            while(iterator.hasNext())
            System.out.println(iterator.next());
        }
    }
}

Vector类

//与ArrayList类似
Vector v= new Vector();
//add()
//get()
//remove()
/**
Vector与ArrayList主要区别:线程是否安全,Vector安全,ArrayList不安全
一般在多线程中使用Vector
*/
//遍历
for(Objcct o : v)
{
    System.out.println(o);
}

LinkedList类

//内部使用 引用 存储数据
//优势:可以方便的插入数据,删除数据
//声明——————与ArrayList相似
LinkedList ll = new LinledList();
//add()
ll.addFirst();//在集合(容器)到第一个位置添加数据
ll.addLast();//在集合(容器)最后添加数据
//遍历
for(Object o: ll)
{
    System.out.println(o);
}

HashSet


//哈希值
//声明
HashSet set = new HashSet();

//ArratList,Vector,LinkedList可添加重复数据,有序
//HashSet不能添加重复数据,会自动去重,且无序

TreeSet

//声明
TreeSet set = new TreeSet();
//与HashSet一样数据是无序的


HashMap 与 Hashtable

HashMap 与 HashTable 相似,HashMap线程不安全,HashTable线程安全

//声明
HashMap map = new HashMap();
//HashMap里保存的是   键值对
//number是要保存的值 ,可以重复——“钥匙”
//"lock"引号内是指向保存的值——“锁”,其不能重复,如果重复会把之前的值覆盖
//两者关系相当于锁与钥匙的关系
//map.put("lock",number)
// 获取值
map.get(" ");
//例如:
map.put("good",745);
map.put("good",521);
int a = map.get("good");//值为521,如果有两个名称一样,后面的覆盖前面已存在的

//遍历
//key.set()获取“锁”
for(Object o: map.keySet())
{
    System.out.println(o+"-"+map.get(o);
}

//values() 获取"钥匙"的值
for(Object value : map.values())
{
    System.out.println(value);
}

//containsKey()判断某个“锁”是否存在,返回布尔值,包含true,反之false
map.containsKey("bad");
//contiansValue() 判断某个“钥匙”是否存在

TreeMap

//与HashMap相似,存储结构不同
//put()
//get()
//keyset()
//values()
//containsKey()
//containsValue()

小结:

Collection——存储单个值
    List 可重复,有序
     ArrayList
     Vector
     LinkedList
    Set 不可重复,无序
     HashSet
     TreeSet

Map——存储键值对
   HashMap
   TreeMap
   HashTable

你可能感兴趣的:(Java集合)