A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Robinpig 初级黑马   /  2018-8-28 17:09  /  591 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是集合
集合类存放于java.util包中。
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
集合类型主要有3种:set(集)、list(列表)和map(映射)。

通俗的说,集合就是一个放数据的容器,准确的说是放数据对象引用的容器。
有哪些集合

集合主要分为Collection和Map2个接口
Collection又分别被List和Set继承
List被AbstractList实现,然后分为3个子类,ArrayList,LinkList和Vector
Set被AbstractSet实现,又分为HashSet和TreeSet
而Map衍生出的集合分为HashMap,HashTable和TreeMap
有三大集合:List    Map     Set
集合有哪些特点?

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());
        }
    }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马