List、Set和Map

Java容器主要有List、Set、Map三大类。而List和Set的顶层接口都是Collection。

ArrayList就是-个动态的数组

LinkedList基于链表的存储结构

特点:

1. ArrayList查询快、增删慢2. LinkedList查询慢、增删快
list

list继承自Collection接口,所以Collection接口中有的功能List都可以使用。
List集合是有索引的,有序的,且与set集合不同list列表的元素可以重复。

使用案例

public class day1 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        list.add("c");
        list.add("b");
        list.add("a");
        list.add("c");
        System.out.println(list);
        System.out.println(list.get(2));
    }
}

首先我们定义一个ArrayList,然后我们在里面存入四个元素,然后打印输出数组,list可以获取单个元素,我们可以试一下获取第二个元素

当然我们也可以使用for循环进行数组的遍历。

方法一
        for (int i=0;i<list.size();i++){
            String s=list.get(i);
            System.out.println(s);
        }

方法二
            for (String s1 : list){
                System.out.println(s1);

        }

set

Set集合它所存储的元素是不可重复的,并且元素都是无序的
Set集合不能直接获取某个元素,只能通过迭代器遍历元素。
Set集合就像一个垃圾箱不用排序直接把东西全部丢进去,因为没有任何的顺序所以元素不能重复。

使用方法

public class day1 {
    public static void main(String[] args) {
        Set<String> set=new HashSet<>();
        set.add("z");
        set.add("g");
        set.add("m");
        set.add("q");
        System.out.println(set);

        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            String s=iterator.next();
            System.out.println(s);
        }
    }
}

首先我们定义它的子类HashSet(无序的),然后我们在里面存入四个元素,打印数组所有元素。

set的遍历通过set.iterator(); 可以获得一个Iterator迭代器,通过while循环使用iterator.hasNext()获得一个随机的元素直到获取完毕结束。

Map

基于键值对形式存储的数据结构
在Map中key是不允许重复的,value值是可以重复。
Map会把所有的key存放- - 个set集合中。
map的特点:无序,键值对,键不能重复,值可以重复,键重复则覆盖,没有继承Collection接口。

使用方法

​
public class day1 {
    public static void main(String[] args) {
        Map<String,Object>map=new HashMap<>();
        map.put("name","杨松岭");
        map.put("age","18");
        map.put("sex","男");
        System.out.println(map);

        Set<String> keySet=map.keySet();
        Iterator<String> iterator1 = keySet.iterator();
        while (iterator1.hasNext()){
            String key = iterator1.next();
            Object value=map.get(key);
            System.out.println(key+"--->"+value);
        }
    }
}

​

Map是有键值对的String是键,Object是值。存入一个人的基本信息,进行输出。

Map的遍历,获取map中所有key值的set集合,通过set.iterator(); 可以获得一个Iterator迭代器,通过while循环使用iterator1.hasNext(),通过映射拿到他的key值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值