Java基础——集合
来源:互联网 发布:安卓转发小视频源码 编辑:程序博客网 时间:2024/05/18 01:44
java的集合类是一个工具类,存放在java.util包中。它不仅可以存储对象,也可以实现常用数据结构,如栈、队列等。严格的说,集合类存放的是对象的引用,而不是对象本身。
java集合主要由这两个接口派生产生:Collection和Map。Collection体系中又包括Set,Queue,List。其中Collection和Map是java集合框架的根接口,他们又包括了一些子接口和实现类。
一、Collection集合体系
在Collection体系中,有三个子接口List、Set和Queue。每个子接口下列举了常用的实现类或接口。比如List下的ArrayList,Set下的HashSet等。
Collection中提供了集合的基本操作,其中方法的使用我们后面会涉及到。
public interface Collection<E> extends Iterable<E> { // Query Operations//查询操作 int size(); boolean isEmpty(); boolean contains(Object o); Iterator<E> iterator(); Object[] toArray(); <T> T[] toArray(T[] a); // Modification Operations//修改操作 boolean add(E e); boolean remove(Object o); // Bulk Operations//批量操作 boolean containsAll(Collection<?> c); boolean addAll(Collection<? extends E> c); boolean removeAll(Collection<?> c); boolean retainAll(Collection<?> c); void clear(); // Comparison and hashing //比较和哈希 boolean equals(Object o); int hashCode();}
1)List
List集合是元素有序可重复的。
他和数组十分类似,List的长度可以改变。
Demo:
public static void main(String[] args){List list=new ArrayList();System.out.println("===开始放入===");list.add("a");System.out.println("list集合存入一个元素===");list.add("b");System.out.println("list集合存入一个元素===");list.add("b");System.out.println("list集合存入一个元素===");System.out.println("===开始读取===");for (int i = 0; i < list.size(); i++) {System.out.println("读取list的第【"+i+"】个元素,元素是:"+list.get(i));}}
输出:
2)Set
Set集合中的元素是无序的,可以重复的。就像一个盒子一样,他的个体都是去重的,不允许添加重复的元素。而正因为他只是个“盒子”或者“罐子”,无法维护元素的顺序。
3)Queue
Queue是模拟队列的,大家都知道,队列是FIFO先进先出的。与List、Set相比,除了Collection接口中定义的基本方法外,Queue就需要一些自己的方法了。
比如:
offer() 将元素加入队列尾部
poll() 获取队列头部元素,并删除。
element() 获取队列头部元素
peek() 获取队列头部元素,如果队列为空,返回null。
Demo:
public static void main(String[] args){PriorityQueue priorityQueue=new PriorityQueue();//存入四个元素priorityQueue.offer(2);priorityQueue.offer(4);priorityQueue.offer(6);priorityQueue.offer(8);//输出队列System.out.println("队列元素:"+priorityQueue);//获取队列的头部的元素System.out.println("头部元素:"+priorityQueue.element());}
二、Map集合体系
上图简单描述了map体系结构,map就有映射的意思,所有map的实现类都是用于保存具有映射关系的数据,即相关联的数组,key-value的键值对。
Map集合也像一个“罐子”、“盒子”,与Set盒子最大的不同是,他里面的每个数据都由每两个值组成。
Demo:
public static void main(String[] args){//定义map,放入元素Map map=new HashMap();map.put("name", "Sherry");map.put("sex", 1);map.put("score", 98);//输出mapSystem.out.println(map);System.out.println("是否包含“name”key:"+map.containsKey("name"));System.out.println("========================");//遍历map集合for(Object key:map.keySet()){System.out.println(key+"-->"+map.get(key));}}
- Java基础—集合
- java基础——集合
- Java基础——集合
- Java基础——集合
- Java基础——集合
- 【Java基础】——集合
- 【Java基础】——集合
- Java基础——集合
- Java基础——集合
- java基础——集合
- JAVA基础——集合
- 【Java基础】——集合
- Java基础——集合
- Java基础——集合
- java基础学习—集合
- java基础—Properties集合
- Java基础—集合框架
- Java生涯——Java基础---集合
- stm32f103 timer1产生400HzPWM
- 大话设计模式——学习方法、总结方法体悟
- JIRA安装破解
- 客户端跳转与服务器端跳转
- CV机枪手opencv3(一)——模块结构解析
- Java基础——集合
- GPS坐标单位(度分秒)的换算方法
- Java POI 写入Excel
- 高并发二级缓存的简单实现
- 关于 eclipse项目 导入 android studio 中 出现的图片报错问题解决。
- 2677: 韩信点兵
- android 手电筒
- 音轨与声道区别
- Python篇----多线程1TB数据生成脚本