您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

Java—集合与collection接口

集合与collection接口

在这里插入图片描述

collection接口:继承来自Iterable接口。所有集合类型均支持foreach循环语句和方法

集合常用方法

在这里插入图片描述

  • < E >泛型:集合并不关心元素的具体类型,因此设计使用泛型
  • 创建集合时,必须将泛型具体化为一个引用类型。有助于减少错误

List集合接口

基本特点

  • List集合,有序的,允许重复元素的集合。除了从collection继承的方法外。还提供一些基于位置索引的方法在这里插入图片描述

常用实现类
1.java.util.ArrayList< E > 对象数组
2.java.util.LinkedList< E > 双向链表

集合和数组的转换
在这里插入图片描述

Map接口

java.util.Map(K,V)
严格来说map不是一个集合。但是他是一个容器

  • key必须是唯一的,一个key只能对应一个value
  • 添加key-value,如果key存在,后一个覆盖前一个
  • 通过key对应的hash值,判断key是否相同(比单纯判断hash更复杂)
  • 基本实现类
    1.java.util.HashMap<K,V>,查询效率与内存占用最平衡,但是线程不安全
    2.java.util.TreeMap<K,V>,线程安全,但是现在已经没有使用的必要了
  • 常用方法
    在这里插入图片描述
import java.util.HashMap;
import java.util.Map;


public class Main{
    public static void main(String[] args) {
       Map<String,String> map=new HashMap<>();
       map.put("BO","956");
       map.put("SUN","925");
       System.out.println(map.size());
       System.out.println(map.get("BO"));
       System.out.println(map.get("SUN"));

    }


}

Set集合接口

  • set集合不包含重复元素
  • 只包含继承来自collection方法
  • 基本实现类
    1.HashSet < E >,元素无序
    2.LinkedHashSet< E >,元素有序
    3.TreeSet< E >,元素有序
  • 没有基于索引的方法
  • 适合了逻辑上无能重复的元素集合

Iterable接口

迭代器,允许遍历集合,并根据需求选择的从集合中移除元素

hasnext():判断是否下一个元素存在
next(): 向后移动一个游标,并且返回游标指向的元素
remove():删除迭代器当前指向的游标对象

import java.util.*;
public class Main{
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i);
        }
        Iterator<Integer> it=list.iterator();
        while(it.hasNext())
        {
            int i=it.next();
            if(i%2==0)
            {
                it.remove();
            }
        }
        System.out.println("************");
        for (Integer i: list)
        {
            System.out.print(i+" ");
        }
    }
}

分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进