容器 java集合框架
来源:互联网 发布:知乎老人吸烟猝死案 编辑:程序博客网 时间:2024/04/30 13:37
java集合框架提供了一套性能优良、使用方便的接口和类,他们位于java.util包中
Collection接口存储一组不唯一,无序的对象
List接口存储一组不唯一,有序(插入顺序)的对象
Set接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
ArrayList优点遍历元素和随机访问元素的效率比较高。缺点:添加和删除需要大量移动元素效率低
例:
import java.util.ArrayList;import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {ArrayList<String> a = new ArrayList<String>();a.add("张三");a.add("李四");a.add("王五");a.add("你好");// 长度int b = a.size();System.out.println(b);// 输入要查找的 元素返回下标值int c = a.indexOf("王五");System.out.println(c);// 判断是否为空boolean flag = a.isEmpty();System.out.println(flag);// 修改 前面输入下标a.set(1, "赵四");// 读取System.out.println(a.get(1));// 遍历循环用来 读取ArrayList里面的内容for (String k : a) {System.out.println(k);}// for循环的办法读取for (int i = 0; i < a.size(); i++) {System.out.print(a.get(i) + "\t");}// 迭代器的读取 了解就行Iterator<String> it = a.iterator();// 当他有下一个是进入下一步while (it.hasNext()) {// 输出值System.out.print(it.next());}}}LinkedList:优点插入删除元素时效率较高,缺点:遍历和随机访问元素效率低。
例:
import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args) {LinkedList<String> li = new LinkedList<String>();// 添加li.add("张三");// 在第一个前面添加li.addFirst("李四");// 在第一个前面添加li.offerFirst("王五");// 在最后一个后面添加li.addLast("赵四");/* * //迭代的方法 判断是否为空 不为空就 进去 while(!li.isEmpty()){ //删除查找 删一个找一个 * System.out.println(li.removeFirst()); * //System.out.println(li.removeLast()); //新的方法独有方法 pool * //System.out.println(li.pollFirst()); } */// for 循环 查找/* * for(int i = 0;i<li.size();i++){ //get方法 获取输出 * System.out.println(li.get(i)); } *//* * //foreach 循环遍历 for(String k:li){ System.out.println(k); } */// 查找第一个String a1 = li.getFirst();// 自己独有的方法 peekFirst 用来获取第一个String a2 = li.peekFirst();System.out.println(a1);System.out.println(a2);}}
HashSet:优点添加速度快,查询快,删除快。缺点:无序。
HashSet的唯一性基于 重写Hashcode和equals放的基础上
例:
/** * HashSet 集合 * 添加 删除最快 * Set没有get方法 * 其中的各个方法都是一样的 因为他们都是同一个祖父类的 * 其中的各个用途都是差不多一样的 * */import java.util.HashSet;import java.util.Iterator;public class HashSetDemo {public static void main(String[] args) {//创建方法HashSet<String> a = new HashSet<String>();a.add("张三");a.add("李四");int s = a.size();System.out.println(s);//迭代器的 输出方式 因为 Set没有 get方法Iterator<String> b = a.iterator();while(b.hasNext()){System.out.println(b.next());}//也可以使用 for each 的方式 遍历for(String k:a){System.out.println(k);}}}最后注意:TreeSet需要重写Comparable方法
阅读全文
0 0
- java容器/集合框架
- 容器 java集合框架
- Java 容器集合框架概览
- Java 容器集合框架概览
- java集合框架:认识容器
- 【JAVA之容器】1.集合框架体系
- java中容器集合框架的分类
- 【38】java的集合框架(容器框架)
- 集合框架Stack容器
- 容器:集合框架
- 黑马程序员——java基础知识之集合框架(容器)
- 【集合框架】2. List容器
- 【集合框架】3. Map容器
- 【集合框架】4. Set容器
- Java容器集合学习心得
- Java容器集合学习心得
- Java容器集合学习心得
- Java容器集合学习心得
- ajax中文乱码问题
- NOIP2015提高组简单题
- js闭包
- java学习初探2之语言基础
- js 之 in 运算符
- 容器 java集合框架
- leetcode-141&142 Linked List Cycle I & II
- CentOS7如何设置IP地址
- 【GCD&LCM】
- Nginx教程--配置
- ionic之点击放大图片
- 基本概念
- 10019---【Java并发之】BlockingQueue
- Python爬虫实践笔记(四)