java 集合框架

集合框架

  • collection 是集合类的上级接口 实现他的集合是List , Set。
  • collections 是集合类的帮助类,它提供了一系列针对集合操作的各种帮助的静态方法( 如:排序,搜素,线程安全等)。

collection
|-List
| |-LinkedList
| |-ArrayList
| |-Vector
|-Set
| |-HashSet
| |-TreeSet

|Map
| |-HashMap

List

  • 其实现类是ArrayList 和LinkedList 特点:线性存储 ,可以有重复数据, 有序,可以为空。

ArrayList 与LinkedList的区别

  • ArrayList 其底层实现是靠数组实现 查询,修改 速度快。
  • LinkedList 其底层实现是链表实现,添加,删除 速度快。
  • LinkedList比ArrayList更加占内存,因为LinkedList为每一个节点都存储了两个引用,一个指向前一个元素指向后一个元素。

List 遍历

public class Test{
 public static void main(String[] args) {
     List<String> list=new ArrayList<String>();
     list.add("Hello");
     list.add("World");
     //第一种遍历方法使用foreach遍历List
     for (String str : list) {            
        System.out.println(str);
     }

     //第二种遍历,把链表变为数组相关的内容进行遍历
     String[] strArray=new String[list.size()];
     list.toArray(strArray);//转数组
     for(int i=0;i<strArray.length;i++)
     {
        System.out.println(strArray[i]);
     }  
    //第三种遍历 使用迭代器进行相关遍历
     Iterator<String> ite=list.iterator();
     while(ite.hasNext())//判断下一个元素之后有值
     {
         System.out.println(ite.next());
     }
 }
}

Set

  • 其实现类为HashSet 和TreeSet
  • Set 集合特点: 无序,不允许重复,不可为空

遍历Set

//迭代遍历
Set<String> set=new HashSet<>();
Iterator<String> iter=set.iterator();
while(iter.hasNext()){
  String str=iter.next();
  System.out.println(str);
}

//for循环遍历
for(String str: set){
  System.out.println(str);
}

List 和Set 的区别

  • Set 集合特点: 无序,不允许重复,List集合特点:有序的,可以重复。

Map

  • 特点:无序 存储键值对(Key: value)其健不可为空,不可重复,其值可为空,可重复

遍历map

 Map<String, String> map = new HashMap<String, String>();
      map.put("1", "v1");
      map.put("2", "v2");
      map.put("3", "v3");
//第一种
 for (String key : map.keySet()) {
       System.out.println("key= "+ key + " and value= " +        map.get(key));
      }
//使用迭代器
 Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
      while (it.hasNext()) {
       Map.Entry<String, String> entry = it.next();
       System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
//第三种    常用
     for (Map.Entry<String, String> entry : map.entrySet()) {
       System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
//第四种
 for (String v : map.values()) {
       System.out.println("value= " + v);
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值