javaee学习日记之java基础之集合类
来源:互联网 发布:php study redis 编辑:程序博客网 时间:2024/05/14 16:36
List接口集合(有序,元素可重复)
(在迭代过程中不可修改集合,但是迭代器可以修改集合)
子类有不同实现,各有不同
ArrayList类:底层是数组,允许所有元素,包括null,修改对象慢,可以快速访问。
LinkedList类:底层是链表,修改对象快,访问慢。
package demo.cn.baidu;import java.util.Iterator;import java.util.LinkedList;import java.util.List;public class Test { public static void main(String[] args) { List<Integer> list = new LinkedList<>();//创建集合 list.add(1);//添加元素 list.add(2); list.add(3); list.add(4); for (int i = 0; i < list.size(); i++) {//获取集合长度 System.out.println(list.get(i));//通过索引获取值 } list.set(2, 5);//通过索引修改值 System.out.println("---------------"); Iterator<Integer> it = list.iterator();//迭代器 while (it.hasNext()) {//是否存在元素 System.out.println(it.next());//输出下一个元素(从0-(size()-1)) } list.set(0, 10); System.out.println("---------------"); for (int i : list) {//增强for底层是迭代器 System.out.println(i); } }}
Set接口集合(无序,没有重复元素(对应八大包装类型和String进行栈内存和内容判断,(其它对象就进行栈内存判断)))
(在迭代过程中不可修改集合,但是迭代器可以修改集合)
子类有不同实现,各有不同
HashSet类:底层是哈希表,通过哈希值和equals()确定唯一性
TreeSet类:底层是红黑树,有顺序。
package demo.cn.baidu;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class Test { public static void main(String[] args) { Set<Integer> set = new HashSet<>();//创建集合 set.add(5);//添加元素 set.add(5); Iterator<Integer> it = set.iterator();//迭代器 while(it.hasNext()){//是否存在元素 System.out.println(it.next());//得到元素 } System.out.println("-----------------"); Set<String> sets = new HashSet<>(); String s1 = new String("Hello"); String s2 = new String("Hello");//改变地址 String s3 = "Hello"; sets.add(s1); s1 = "Java";//改变内容 sets.add(s1); sets.add(s2); sets.add(s3); for(String s:sets){ System.out.println(s); } System.out.println("-----------------"); Set<Tool> set2 = new HashSet<>(); Tool tool = new Tool("Tom",25); Tool tool2 = new Tool("Tom",25);//改变地址 set2.add(tool); set2.add(tool2); tool.setName("Jom");//改变内容 tool.setAge(28); set2.add(tool); System.out.println(set2.size()); }}
List和Set有共同父接口Collection
Map接口集合(键值对)
子类有不同实现,各有不同
HashMap:基于哈希表实现,查找速度快,添加快
TreeMap:映射存在顺序。
package demo.cn.baidu;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class Test { public static void main(String[] args) { Map<String, String> map = new HashMap<>();//创建 map.put("Tom", "man");//添加 map.put("Jim", "woman"); map.put("Zmi", "woman"); for (Map.Entry<String, String> ent : map.entrySet()) { System.out.println(ent.getKey() + ":" + ent.getValue()); } System.out.println("-------------------"); for (String s : map.keySet()) { System.out.println(s + ":" + map.get(s));//获取键,通过键获取值 } System.out.println("-------------------"); Iterator<Map.Entry<String, String>> ent = map.entrySet().iterator(); while (ent.hasNext()) { Map.Entry<String, String> entry = ent.next(); System.out.println(entry.getKey() + ":" + entry.getValue()); } }}
阅读全文
0 0
- javaee学习日记之java基础之集合类
- javaee学习日记之java基础之初识java
- javaee学习日记之java基础之异常
- javaee学习日记之java基础之I/O流
- javaee学习日记之java基础之网络通讯
- javaee学习日记之java基础之jdbc
- javaee学习日记之java基础之jQuery
- javaee学习日记之java基础之类和对象
- javaee学习日记之java基础之内部类和反射
- javaee学习日记之java基础之多线程
- javaee学习日记之java基础之接口,继承,抽象类
- javaee学习日记之java基础之Sql语句和MySql方言
- javaee学习日记之html
- javaee学习日记之css
- javaee学习日记之javascript
- 黑马程序员-java学习日记之集合
- java学习日记_76:集合框架之Collection类
- javaee学习日记之SSM环境搭建
- 北洋激光雷达rosrun hokuyo的时候的一些问题
- EL表达式中的requestScope标签的使用
- 安卓仿美团viewpager分类导航栏
- Makefile书写中的小问题
- tinkphp中session无法跨方法获取
- javaee学习日记之java基础之集合类
- Python获取并输出当前日期时间
- Java相关文章索引(13)
- Spring-boot JSP修改后需要重启才能生效的问题
- struts2的简单执行过程
- Java代码安全规范
- python如何提取tuple类型值中json格式的key值
- EasyDSS高性能流媒体服务器前端重构(三): webpack + vue + AdminLTE 多页面引入 element-ui
- 和Android的第一次美丽邂逅