集合

来源:互联网 发布:linux 压缩命令 zip 编辑:程序博客网 时间:2024/05/21 15:07

学习方法:3W1H

what:这个要学的东西是什么?

why:为什么要学这个东西?

where:在哪里可以用到这个东西?


1.(what)什么是集合?

集合是指具有某种特定性质的具体的或抽象的对象汇总的集体,这些对象称为该集合的元素。

简单一点就是:集合就是“确定的一堆东西”,集合里的“东西”叫做元素。


2.(why)为什么要学习集合?

面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array(数组)

存储对象方面具有一些弊端,需要提前对数组进行容器大小的的设定,而Java集合就像一个容器,可以动态地把多个对象的引用放入容器中,不要提前设置容量大小。存多少就是多少。


3.有哪些集合?

有三大集合:List    Map     Set


4.集合有哪些特点?

1.List

特点:元素是有序的(怎样放进去就怎样显示),内容可以重复

Arraylist:数组结构,查询快,增删改慢。

LinkedList:链表结构,查询慢,增删改快。

Vector:增删查改都慢。


LinkedList有特有的开头和结尾的方法addFirst(),addLast();

使用场景:制作贪吃蛇游戏。


2.Set

特点:元素是无序的(但是它进行的排序),内容不可以重复

hashSet:可以添加空值

treeSet:不可以添加空值

使用场景:比如一个学校里,班级的班级编号不可以重复


3.Map

hashMap:可加空值(无序)

hashTable:不能加空值(无序)

treeMap:可以加空值(有序)

迭代Map(遍历):

1.获取所有的键,在根据键获取值

方法名:keySet();

2.获取所有的值

方法名:values();

3.获取键和值(一个一个的获取)

方法名:entrySet();


代码实现迭代Map

public class TestMap {
    //键值对
    public static void main(String[] args) {
        Map<String, Object> map=new HashMap<String, Object>();
        map.put("A", "AAAA");
        map.put("2", "2222");
        map.put("3", "3333");
        map.put("王", "大小王");
        
        //遍历
        //01.获取所有的键,再根据键获取值
        Set<String> strings=map.keySet();
        for (String string : strings) {
            System.out.println(string+":"+map.get(string));
        }
        
        //02.获取所有的值
        Collection<Object> collection=map.values();
        for (Object object : collection) {
            System.out.println(object);
        }
        
        //03.获取键和值(一个一个)
        Set<Entry<String, Object>> entries=map.entrySet();
        for (Entry<String, Object> entry : entries) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
}





原创粉丝点击