Java 集合
来源:互联网 发布:linux查看文件命令 编辑:程序博客网 时间:2024/06/05 22:39
集合
用于存放不确定数量的变量的类
- Collection
- List
- LinkedList
链表列表 插入和删除效率较高
- ArrayList
数组列表 遍历和随机访问效率较高
- Map
- HashMap
- TreeMap
- Set
- HashSet
- TreeSet
- Collections
对集合操作
泛型
使用<类型名>
声明数组中要存放的类型,否则默认为Object
类型
迭代器
通过iterator()
方法获得该集合的迭代器
- hasNext()
是否有下一个元素
- next()
返回下一个元素
List
class Test{ public static void main(String[] args){ ArrayList<Integer> al = new ArrayList<>(); al.add(1); al.add(2); al.forEach(System.out::print); // 12 Iterator<Integer> it = al.iterator(); Integer i = it.next(); System.out.println(i); // 1 LinkedList<Integer> ll = new LinkedList<>(); ll.add(1); ll.addFirst(2); ll.forEach(System.out::print); // 21 }}
List排序
使用list.sort()
进行排序操作
被排序的对象需要实现Comparable
接口,或者在sort
方法中传入比较器参数
class Test{ public static void main(String []args){ List<Integer> l = new ArrayList<>(); l.add(1); l.add(2); l.sort(Comparator.comparing(i -> i)); l.forEach(System.out::print); // 12 l.sort(Comparator.comparing(i -> -i)); l.forEach(System.out::print); // 21 }}
Set
Set接口存储不重复且无序的对象
- 没有get
方法,通过iterator
遍历
class Test{ public static void main(String[] args){ HashSet<Integer> hs = new HashSet<>(); hs.add(1); hs.add(2); hs.forEach(System.out::print); // 12 Iterator<Integer> it = hs.iterator(); Integer i = it.next(); System.out.println(i); // 1 }}
Map
Map接口存储键值对
键不可重复,可以通过键获得对应的值
class Test{ public static void main(String[] args){ HashMap<Integer, String> hm = new HashMap<>(); hm.put(1, "a"); hm.put(2, "b"); hm.put(3, "c"); hm.forEach((key, val) -> System.out.print(key + "" + val)); // 1a2b3c }}
阅读全文
0 0
- Java集合:集合框架
- java集合---set集合
- JAVA 集合 的 集合
- 【集合】Java集合对比
- JAVA集合-Map集合
- JAVA集合-Set集合
- JAVA集合-List集合
- java集合------Map集合
- Java集合----List集合
- Java集合----Set集合
- Java集合----Map集合
- JAVA集合
- JAVA集合
- Java集合
- JAVA集合
- Java集合
- Java集合
- java 集合
- Hibernate的三种状态。
- python 网络编程(udp)
- mybaits批量新增修改
- ui控件之UIImageView(imageView的动画效果)
- lintcode翻转链表
- Java 集合
- 总结:ajax多文件上传,laravel后台篇
- TCP/IP协议数据在每层中的长度
- 四种计算UIWebView高度的方法,总有一种适合你的需求
- Oracle之SQL子查询
- Node中Buffer对字符串的处理
- 常见C++面试题及基本知识点总结
- 洛谷Oj-[USACO06FEB]数字三角形-数学 + 剪枝
- C++ 数论-Eratosthenes筛法