集合--List&&ArrayList-LinkedList
2024-10-08 00:36:07
1.8新特性 List接口中的replaceAll()方法,替换指定的元素,函数式接口编程
List 元素是有序的并且可以重复
四种add();方法
ArrayList(用于查询操作),底层是数组
LinkedList(用于删除和添加操作),底层是链表,数据结构
区别:性能差别,分布上差别
1.ArrayList
创建ArrayList对象
List list = new ArrayList();
添加对象到list集合中
list.add("first");
list.add("second");
指定位置的插入对应元素
list.add(0, "three");
添加一个集合到集合中
list.addAll(Arrays.asList("four", "five"));
指定位置把集合添加到list集合对象中
list.addAll(0, Arrays.asList("six", "seven"));
添加重复的元素
list.add("four");
通过简单for循环遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
通过增强for循环
for (Object object : list) {
System.out.println(object);
}
迭代器
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object object = iterator.next();
System.out.println(object);
}
2.LinkedLis,方法跟ArraysList没多大区别
3.队列
特点:先入先出
创建一个队列
Queue queue=new LinkedList();
queue.offer("DDD");
queue.offer("BBB");
queue.offer("CCC");
System.out.println(queue);
出列
System.out.println(queue.poll());
获取列的首个元素,不会把元素从队列中移除
System.out.println(queue.peek());
移除首个元素
System.out.println(queue.remove());
使用LinkedList模拟队列
LinkedList qLinkedList=new LinkedList();
qLinkedList.addLast("dddddd");
qLinkedList.addLast("aaaaaa");
qLinkedList.addLast("cccccc");
System.out.println(qLinkedList);
获取列元素,不会把元素从队列中移除
System.out.println(qLinkedList.getFirst());
出列
System.out.println(qLinkedList.removeFirst());
4.栈
特点:先入后出.线程安全的
压栈
Stack stack=new Stack();
stack.push("AAAA");
stack.push("BBBB");
stack.push("FFFF");
System.out.println(stack);
弹栈
System.out.println(stack.pop());
获取栈顶元素
System.out.println(stack.peek());
模拟栈
LinkedList linkedList=new LinkedList();
linkedList.addLast("aaa");
linkedList.addLast("bbb");
linkedList.addLast("ccc");
System.out.println(linkedList);
弹栈
System.out.println(linkedList.removeLast());
最新文章
- jQuery源码分析系列
- mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)
- shell awk入门
- ubuntu apt-get 总结 install xxx -d能下载安装包(含依赖)不安装_和卸载(转载)
- JDBC连接属性
- Freescle cortex-A9(完善中...)
- IT牛人博客
- casperjs配合phantomjs实现自动登录百度,模拟点击等等操作 - 怕虎在线www.ipahoo.com图文教程 - 怕虎在线
- discuz!代码内置颜色大全(收藏)
- C++在stack的deque实现
- hue集成hive访问报database is locked
- 11.Git分支-远程跟踪分支的概念、多个远程仓库的使用
- [Leetcode]100. Same Tree -David_Lin
- SAP MM tables
- sparse-table模板
- HTML5:表单提交
- [转]HashMap,LinkedHashMap,TreeMap的区别
- LESS碎语
- 阿里云rds 磁盘空间满导致实例锁定
- mysql安装管理 ->; 编译&;yum_02