20210416----java---list&map
2021/4/17 20:28:05
本文主要是介绍20210416----java---list&map,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ArrayList<Integer> arrayList = new ArrayList<Integer>(); for (int i = 0; i < 100000; i++) { arrayList.add(i); } for (int i = 0; i < 10000; i++) { arrayList.get(i); } for (int i = 9999; i >=0; i--) { arrayList.remove(i); } Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } 2.indexOf(Object obj)方法和lastIndexOf(Object obj)方法的区别 在使用List集合时需要注意区分indexOf(Object obj)方法和lastIndexOf(Object obj)方法,前者是获得指定对象的最小的索引位置,而后者是获得指定对象的最大的索引位置,前提条件是指定的对象在List集合中具有重复的对象,否则如果在List集合中有且仅有一个指定的对象,则通过这两个方法获得的索引位置是相同的 在使用subList(int fromIndex, int toIndex)方法截取现有List集合中的部分对象生成新的List集合时,需要注意的是,新生成的集合中包含起始索引位置代表的对象,但是不包含终止索引位置代表的对象 如果涉及到多线程,那么就选择Vector(当然,你也可以使用ArrayList并自己实现同步)。 如果不涉及到多线程就从LinkedList、ArrayList中选。 LinkedList更适合从中间插入或者删除(链表的特性)。 ArrayList更适合检索和在末尾插入或删除(数组的特性) 遍历方式 ----1. 普通fori 方式遍历 for (int i = 0; i < j; i++) { list.get(i); } ----2. iterate()迭代器方式(collection 集合共有方法) Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) { iterator.next(); } for (Iterator<Integer> iterator = list.iterator(); { iterator.next(); } ----3.增强for for (int item : list) { // System.out.println(item); } ----4.forEach() 注意java8 才支持 list.forEach(item -> { // System.out.println(item); }); ----5. stream().forEach() 注意java8 才支持 list.stream().forEach(item -> { // System.out.println(item); }); ----6. parallelStream().forEach() 注意java8 才支持 list.parallelStream().forEach(item -> { // System.out.println(item); });
Map
Map<Integer,Integer> map=new HashMap<>();
map.put(xx,xx)
map.get(xx)
map.containsKey(xx)
map.size()
map.remove()
map1.putAll(map2);//合并时如果map2的key与map1的key有重复的,则map2的键值覆盖与map1重复的键值
map.clear();
map.values();
Collection values = map.values();
----------1. 这是最常用的方式,在键值都需要的时候map.entrySet() 加增强for------------------
for(Map.Entry<String, String> entry : map.entrySet()){ String mapKey = entry.getKey(); String mapValue = entry.getValue(); System.out.println(mapKey+":"+mapValue); } -------2. 在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好;------------- //key
for(String key : map.keySet()){ System.out.println(key); } //value for(String value : map.values()){ System.out.println(value); }
-------3. 通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作--------------
for(String key : map.keySet()){ String value = map.get(key); System.out.println(key+":"+value); }
----4. 通过迭代器 map.entrySet().iterator()-----
Iterator<Entry<String, String>> entries = map.entrySet().iterator(); while(entries.hasNext()){ Entry<String, String> entry = entries.next(); String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+":"+value); }
-------5. JDK8新特性新增的lambda表达式遍历Map的方法——Map.forEach();------------ map.forEach( (key,value) -> {} );
map.forEach((k,v)-> { System.out.println(k+":"+v); }); ---map.entrySet().stream().forEach 注意:java8 才支持---- map.entrySet().stream().forEach( (entry) -> {} );
数组、链表、队列、栈,是数据结构中最基础的四大结构,数组和链表更是基础中的基础,后续所有复杂的数据结构都是在它们的基础上演变而来的。 数组 https://article.itxueyuan.com/prE0je https://segmentfault.com/a/1190000023501433
这篇关于20210416----java---list&map的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程