常用Java API

1 字符串处理

1.1 String 类

String 类是 Java 中不可变的字符序列。它提供了以下常用方法:

  • length():返回字符串的长度。

  • charAt(index):返回指定索引处的字符。

  • substring(startIndex, endIndex):返回从 startIndex 到 endIndex-1 处的子字符串。

  • indexOf(char):返回字符在字符串中首次出现的索引,如果没有找到则返回 -1。

示例代码:

java 复制代码
String str = "Hello World";

// 获取字符串长度
int length = str.length();

// 获取指定索引处的字符
char ch = str.charAt(0);

// 获取子字符串
String substring = str.substring(0, 5);

// 查找字符在字符串中首次出现的索引
int index = str.indexOf('o');

1.2 StringBuilder 类

StringBuilder 类是一个可变的字符序列,用于高效地构造和修改字符串。它提供了以下常用方法:

  • append(string):将字符串追加到 StringBuilder 的末尾。

  • insert(index, string):在指定索引处插入字符串。

  • reverse():反转 StringBuilder 中的字符顺序。

示例代码:

java 复制代码
StringBuilder sb = new StringBuilder();

// 追加字符串
sb.append("Hello ");
sb.append("World");

// 插入字符串
sb.insert(5, "Java ");

// 反转字符串
sb.reverse();

2 集合框架

2.1 List 接口

List 接口表示一个有序的元素集合。它提供了以下常见的实现:

  • ArrayList:基于数组实现,支持元素的随机访问和动态增长。

  • LinkedList:基于链表实现,支持高效的插入和删除操作。

示例代码(ArrayList):

java 复制代码
List<String> list = new ArrayList<>();

// 添加元素
list.add("Hello");
list.add("World");

// 获取元素
String element = list.get(0);

// 移除元素
list.remove(1);

示例代码(LinkedList):

java 复制代码
List<String> list = new LinkedList<>();

// 添加元素
list.add("Hello");
list.add("World");

// 获取元素
String element = list.getFirst();

// 移除元素
list.removeFirst();

2.2 Set 接口

Set 接口表示一个不包含重复元素的集合。它提供了以下常见的实现:

  • HashSet:基于哈希表实现,不允许重复元素。

  • TreeSet:基于红黑树实现,元素按自然顺序排序。

示例代码(HashSet):

java 复制代码
Set<String> set = new HashSet<>();

// 添加元素
set.add("Hello");
set.add("World");

// 检查元素是否存在
boolean contains = set.contains("Hello");

// 移除元素
set.remove("World");

示例代码(TreeSet):

java 复制代码
Set<String> set = new TreeSet<>();

// 添加元素
set.add("Hello");
set.add("World");

// 获取第一个元素
String first = set.first();

// 移除第一个元素
set.remove(first);

2.3 Map 接口

Map 接口表示一个键值对集合。它提供了以下常见的实现:

  • HashMap:基于哈希表实现,键值对之间的映射不保证顺序。

  • TreeMap:基于红黑树实现,键值对按键的自然顺序排序。

示例代码(HashMap):

java 复制代码
Map<String, Integer> map = new HashMap<>();

// 添加键值对
map.put("Hello", 1);
map.put("World", 2);

// 获取值
int value = map.get("Hello");

// 移除键值对
map.remove("World");

示例代码(TreeMap):

java 复制代码
Map<String, Integer> map = new TreeMap<>();

// 添加键值对
map.put("Hello", 1);
map.put("World", 2);

// 获取第一个键
String firstKey = map.firstKey();

// 移除第一个键值对
map.remove(firstKey);

2.4 遍历方式

1). 使用迭代器(Iterator)

java 复制代码
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("Java");

// 使用迭代器遍历 ArrayList
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println(element);
}

2). 使用增强 for 循环

java 复制代码
// 创建一个 HashSet
Set<String> set = new HashSet<>();
set.add("Hello");
set.add("World");
set.add("Java");

// 使用增强 for 循环遍历 HashSet
for (String element : set) {
    System.out.println(element);
}

3). 使用流(Stream)

java 复制代码
// 创建一个 HashMap
Map<String, Integer> map = new HashMap<>();
map.put("Hello", 1);
map.put("World", 2);
map.put("Java", 3);

// 使用流遍历 HashMap
map.keySet().stream()
        .forEach(key -> System.out.println(key + ": " + map.get(key)));

4). 使用 lambda 表达式

java 复制代码
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("Java");

// 使用 lambda 表达式遍历 ArrayList
list.forEach(element -> System.out.println(element));

5). 使用并行流(Parallel Stream)

java 复制代码
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("Java");

// 使用并行流遍历 ArrayList
list.parallelStream()
        .forEach(element -> System.out.println(element));

2.5 区别

  • 数据结构: ArrayList 使用数组,LinkedList 使用链表,HashSet 使用哈希表。

  • 元素顺序: ArrayList 和 LinkedList 保持插入顺序,而 HashSet 无序。

  • 是否允许重复: ArrayList 和 LinkedList 允许重复元素,而 HashSet 不允许。

  • 时间复杂度: ArrayList 和 HashSet 的查找、插入和删除操作的平均时间复杂度为 O(1),而 LinkedList 的查找操作为 O(n),插入和删除操作为 O(1)。

  • 线程安全性: ArrayList、LinkedList 和 HashSet 都是非线程安全的。

3 Java文件操作

3.1 读取文件

要读取文件,可以使用 FileReader 和 BufferedReader 类:

java 复制代码
FileReader fr = new FileReader("file.txt");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
    // 处理每一行
}
br.close();
fr.close();

3.2 写入文件

要写入文件,可以使用 FileWriter 和 BufferedWriter 类:

java 复制代码
FileWriter fw = new FileWriter("file.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("内容");
bw.close();
fw.close();

结语:以上就是关于Java的常用API的学习,也是学习Java基础必须要掌握的,非常之重要,感谢各位看官的观看,谢谢,下期见!

相关推荐
敲代码不忘补水几秒前
二十种编程语言庆祝中秋节
java·javascript·python·golang·html
0点51 胜5 分钟前
[ffmpeg]音频格式转换
开发语言·c++·ffmpeg
码农研究僧14 分钟前
Java或者前端 实现中文排序(调API的Demo)
java·前端·localecompare·中文排序·collator
Chase-Hart14 分钟前
【每日一题】LeetCode 7.整数反转(数学)
java·数据结构·算法·leetcode·eclipse
水木流年追梦16 分钟前
【python因果推断库16】使用 PyMC 模型进行回归拐点设计
开发语言·python·回归
四角小裤儿儿20 分钟前
Java数据结构(十一)——归并排序、计数排序
java·数据结构·排序算法
guangzhi063328 分钟前
JVM本地方法栈
java·jvm·面试
akhfuiigabv33 分钟前
使用LangChain创建简单的语言模型应用程序【快速入门指南】
java·python·语言模型·langchain
忘却的纪念39 分钟前
基于SpringBoot的考研资讯平台设计与实现
java·spring boot·spring
.生产的驴41 分钟前
SpringBoot 消息队列RabbitMQ死信交换机
java·spring boot·后端·rabbitmq·java-rabbitmq