黑马程序员--集合框架

 ------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培训、期待与您交流! ------

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值