Java容器学习

容器

容器:能装对象的对象。

  • List 线性结构,可变长度。
  • Set集合,非线性,去除重复
  • Map 映射,存储时是以Key:Value的形式存储数据的。
    这三个容器都是接口
    Java中所有集合的根:collection接口

List

ArrayList

package org.container.List;  
  
import java.util.ArrayList;  
import java.util.List;  
  
public class demo01 {  
    public static void main(String[] args) {  
        List list = new ArrayList();  
        list.add("simple");  
        list.add("complex");  
        list.add("jnsec");  
  
        System.out.println(list);  
    }  
}

列表是可以存放重复的数据,列表是按照我们存储的顺利存储的。这是线性存储的。

LinkedList

package org.container.List;  
  
import java.util.ArrayList;  
import java.util.LinkedList;  
import java.util.List;  
  
public class demo01 {  
    public static void main(String[] args) {  
        List list = new LinkedList();  
        list.add("simple");  
        list.add("complex");  
        list.add("jnsec");  
  
        System.out.println(list);  
    }  
}

LinkedList 是一个链表形式存储的。

这两个List在使用上是没有什么区别的。

List 的常用操作




长度
判断容器中是否存在

package org.container.List;  
  
import java.util.ArrayList;  
  
public class demo02 {  
    public static void main(String[] args) {  
        ArrayList list = new ArrayList();  
        list.add("simple");  
        list.add("complex");  
        list.add("simple2");  
        System.out.println(list.get(1));//指定下标  
        list.remove(0);//删除  
        System.out.println(list);  
        System.out.println(list.size());//查看长度  
        System.out.println(list.contains("simple"));//查看是都存在simple  
  
    }  
}

遍历列表:

package org.container.List;  
  
import java.util.LinkedList;  
import java.util.List;  
  
public class demo03 {  
    public static void main(String[] args) {  
        List list = new LinkedList();  
        list.add("simple");  
        list.add("complex");  
        list.add("jnsec");  
  
        System.out.println(list);  
  
        for (int i = 0; i < list.size(); i++) {  
//            System.out.println(list.get(i));  
            String s = (String) list.get(i);  
            System.out.println(s);  
        }  
    }  
}

Set

特点就是不能有重复的东西

HashSet

package org.container.Set;  
  
import java.util.HashSet;  
  
public class demo01 {  
    public static void main(String[] args) {  
        HashSet set = new HashSet();  
        set.add("DNF");  
        set.add("LoL");  
        set.add("CS");  
        set.add("apple");  
  
        System.out.println(set);  
    }  
}

无序的,不重复的。

[CS, apple, LoL, DNF]

TreeSet

默认进行排序,不重复。

package org.container.Set;  
  
import java.util.HashSet;  
import java.util.Set;  
import java.util.TreeSet;  
  
public class demo01 {  
    public static void main(String[] args) {  
        Set set = new TreeSet();  
        set.add(1);  
        set.add(2);  
        set.add(3);  
        set.add(4);  
  
        System.out.println(set);  
    }  
}

Set的操作

add()添加元素
remove()删除元素
size()元素个数
contains()是否包含

Map

Key --> Value对应的

HashMap

package org.container.Map;  
  
import java.util.HashMap;  
import java.util.Map;  
  
public class demo01 {  
    public static void main(String[] args) {  
        Map map = new HashMap();  
  
        map.put("jay","周杰伦");  
        map.put("wf","汪峰");  
        map.put("tz","111");  
        System.out.println(map);  
    }  
}

不会排序

TreeMap

package org.container.Map;  
  
import java.util.Map;  
import java.util.TreeMap;  
  
public class demo02 {  
    public static void main(String[] args) {  
        Map map = new TreeMap();  
        map.put(1,"simple");  
        map.put(2,"complex");  
        map.put(3,"1245");  
        map.put(56,"sssss");  
        map.put(33,"ssssssss");  
        System.out.println(map);  
    }  
}

会按照key来排序

map的操作

  • put(key,value)存储数据
  • remove(key)删除
  • size()数量
  • contains(key)是否存在
  • 如果出现了相同的key,原来的数据会被覆盖掉。
  • keySet()把map中所有的key打包成Set集合返回。
  • get(key)通过key来查询value。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值