------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
集合框架,也就是集合类
集合类也称做容器类,所有的集合类位于java.util包中,主要包括Colletion和Map接口。
Collection
List元素是有序的,元素可以重复(因为该体系有索引)
ArrayList底层数据结构使用的是数组数据结构。特点:查询快,增删慢
LinkedList底层使用的是链表数据结构。特点:查询慢,增删快
Vector底层是数组数据结构,线程同步,被ArrayList取代了
Set元素是无序的,元素不可以重复
HashSet底层数据结构是哈希表
TreeSet底层数据结构是二叉树
集合类的特点:
集合只用于存储对象,集合的长度是可以变的,集合可以存储不同类型的对象
例1:
import java.util.*; //打包的意思
class Collection
{
public static void main(String[] args)
{
ArrayList al=new ArrayList(); //创建一个集合容器
al.add("java1"); //往容器里面添加元素
al.add("java2");
al.add("java3");
al.add("java4");
sop(al); //获取集合里面的内容
sop(al.size()); //获取长度
al.remove("java2");//删除java2
sop(al);//打印出改变后的结果
sop(al.contains("java3"));//查看容器里面是否有这个java3,有的话就输出true,或者就flase.
sop(al.isEmpty()); //集合里面是否为空 如果是false,,说明里面没有内容
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
例2:
通过迭代器获取元素
class Test2
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();
al.add("aaa");
al.add("bbb");
al.add("ccc");
al.add("ddd");
al.add("eee");
Iterator<String> it = al.iterator();//用迭代器取出
while(it.hasNext())
{
sop(it.next());
}
}
}
map集合<v,k>
该集合存储键值时,一对一对往里存,而且保证键的唯一性,
Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该线程是同步,JDK1.0 效率低
HashMap :底层是哈希表数据结构,允许使用null 键和null 值,该集合线程不同步 JDK1.2 效率高
TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的建进行排序。
map中两种常见的取出方式:1、keySet,entrySet
import java.util.*;
class MapDemo
{
public static void main(String[] args)
{
Map<String,String> map=new HashMap<String,String>();
map.put("11","zhangsan1");
map.put("12","zhangsan2");
map.put("13","zhangsan3");
map.put("14","zhangsan4");
map.put("14","zhangsan5");//当你添加的元素,键一样,后面的值会被覆盖掉
System.out.println(map);
//System.out.println(map.containskey("zhangsan2"));
//System.out.println(map.remove("zhangsan1")); //删除的时候它会返回一个被删除的值。
//System.out.println(map.get("12"));
//Collection coll=map.values();
//System.out.println(coll);
Set<String> keyset=map.keySet();//从集合获取的键放到set集合
Iterator<String> it=keyset.iterator();//有Set集合,就可以获取迭加器
while(it.hasNext());
{
String key=it.next(); //返回类型
String value=map.get(key); //通过键获取值
System.out.println(key);
}
}
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------