Java 知识积累
从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。
Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。
集合框架是一个用来代表和操纵集合的统一架构。
1 iterator迭代器 接口 #接口
Java中的迭代器:iterator是一个接口
迭代器意思:相当于一个指针来指向第一个集合的对象(结点)的地址。
迭代器作用:用于遍历集合的元素,迭代器找到集合中的一个对象(结点)同时,也得到了下一个的对象(结点),因此可以快速地遍历集合。
迭代器里面两个重要的的方法:hasNext()——判断下一个对象(结点)是否为空、next()——获取集合对象(结点)里面的数据。
Iterator<String> iter = list.iterator(); //list.iterator()可以获取一个迭代器Iterator对象
while(iter.hasNext()){
String te = iter.next();
}
2 Collection接口 #接口
Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。
3 接口:List、Set #接口
- List:元素有序可以存放重复的内容
- Set:元素无序不能存放重复的内容,重复内容靠hashCode()和equals()两个方法区分
4 实现接口 List、Set 的类 #类
4.1 实现 List 接口的三个类、
- ArrayList
- LinkedList
- Vector
4.2 实现set接口的类
- TreeSet——有序的存放
- HashSet——无序的存放,可以去除重复的元素
5 Collections类 #类
Collections则是上面集合类的一个工具类/帮助类,其中提供了一系列类方法,用于对集合中元素进行排序、查找、重排序、旋转。
sort()、shuffle()……
使用方法:Collection.sort(List、Set接口变量);
Map.entrySet()方法
Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。=》 每一个对象都实现了Map.Entry接口
集合中每个对象都是底层Map中一个特定的键/值对。通过这个集合的迭代器,获得每一个条目(唯一获取方式)的键或值并对值进行更改
import java.util.*;
public class TreeMapDemo {
public static void main(String[] args) {
TreeMap<String, String> treeMap = new TreeMap<>();
treeMap.put("1", "1");
treeMap.put("2", "1");
treeMap.put("3", "1");
treeMap.put("4", "1");
treeMap.put("5", "1");
treeMap.put("6", "1");
System.out.println(treeMap.size());
/**
* 遍历方法一
*/
/*先获取所有的key,遍历key的时候通过key获取value*/
Set<String> stringSet = treeMap.keySet();
for (String str : stringSet) {
System.out.println(treeMap.get(str));
}
/**
* 遍历方法二
*/
/*将Map集合转换成Set集合,Set集合中每一个元素是Node,Node节点中有key和value*/
for (Map.Entry<String, String> stringStringEntry : treeMap.entrySet()) {
System.out.println(stringStringEntry);
}
}
}
Java Properties 类
Properties 继承于 Hashtable。表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串
Java Properties 类 | 菜鸟教程 (runoob.com)
import java.util.Properties;
public class PropertiesDemo {
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("1","1");
System.out.println(properties.getProperty("1"));
System.out.println(properties.size());
}
}
作者:EaApple
出处:https://www.cnblogs.com/eaapple/p/16481726.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具