合肥哪家做网站,搜索引擎营销实践报告,免费网站模板psd,在线做网站大概多少钱1 字符串处理
1.1 String 类
String 类是 Java 中不可变的字符序列。它提供了以下常用方法#xff1a; length()#xff1a;返回字符串的长度。 charAt(index)#xff1a;返回指定索引处的字符。 substring(startIndex, endIndex)#xff1a;返回从 startIndex 到 endI…1 字符串处理
1.1 String 类
String 类是 Java 中不可变的字符序列。它提供了以下常用方法 length()返回字符串的长度。 charAt(index)返回指定索引处的字符。 substring(startIndex, endIndex)返回从 startIndex 到 endIndex-1 处的子字符串。 indexOf(char)返回字符在字符串中首次出现的索引如果没有找到则返回 -1。
示例代码
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 中的字符顺序。
示例代码
StringBuilder sb new StringBuilder();// 追加字符串
sb.append(Hello );
sb.append(World);// 插入字符串
sb.insert(5, Java );// 反转字符串
sb.reverse();
2 集合框架
2.1 List 接口
List 接口表示一个有序的元素集合。它提供了以下常见的实现 ArrayList基于数组实现支持元素的随机访问和动态增长。 LinkedList基于链表实现支持高效的插入和删除操作。
示例代码ArrayList
ListString list new ArrayList();// 添加元素
list.add(Hello);
list.add(World);// 获取元素
String element list.get(0);// 移除元素
list.remove(1);
示例代码LinkedList
ListString list new LinkedList();// 添加元素
list.add(Hello);
list.add(World);// 获取元素
String element list.getFirst();// 移除元素
list.removeFirst();
2.2 Set 接口
Set 接口表示一个不包含重复元素的集合。它提供了以下常见的实现 HashSet基于哈希表实现不允许重复元素。 TreeSet基于红黑树实现元素按自然顺序排序。
示例代码HashSet
SetString set new HashSet();// 添加元素
set.add(Hello);
set.add(World);// 检查元素是否存在
boolean contains set.contains(Hello);// 移除元素
set.remove(World);
示例代码TreeSet
SetString set new TreeSet();// 添加元素
set.add(Hello);
set.add(World);// 获取第一个元素
String first set.first();// 移除第一个元素
set.remove(first);
2.3 Map 接口
Map 接口表示一个键值对集合。它提供了以下常见的实现 HashMap基于哈希表实现键值对之间的映射不保证顺序。 TreeMap基于红黑树实现键值对按键的自然顺序排序。
示例代码HashMap
MapString, Integer map new HashMap();// 添加键值对
map.put(Hello, 1);
map.put(World, 2);// 获取值
int value map.get(Hello);// 移除键值对
map.remove(World);
示例代码TreeMap
MapString, Integer map new TreeMap();// 添加键值对
map.put(Hello, 1);
map.put(World, 2);// 获取第一个键
String firstKey map.firstKey();// 移除第一个键值对
map.remove(firstKey);
2.4 遍历方式
1). 使用迭代器Iterator
// 创建一个 ArrayList
ListString list new ArrayList();
list.add(Hello);
list.add(World);
list.add(Java);// 使用迭代器遍历 ArrayList
IteratorString iterator list.iterator();
while (iterator.hasNext()) {String element iterator.next();System.out.println(element);
}
2). 使用增强 for 循环
// 创建一个 HashSet
SetString set new HashSet();
set.add(Hello);
set.add(World);
set.add(Java);// 使用增强 for 循环遍历 HashSet
for (String element : set) {System.out.println(element);
}
3). 使用流Stream
// 创建一个 HashMap
MapString, 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 表达式
// 创建一个 ArrayList
ListString list new ArrayList();
list.add(Hello);
list.add(World);
list.add(Java);// 使用 lambda 表达式遍历 ArrayList
list.forEach(element - System.out.println(element));
5). 使用并行流Parallel Stream
// 创建一个 ArrayList
ListString 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 类
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 类
FileWriter fw new FileWriter(file.txt);
BufferedWriter bw new BufferedWriter(fw);
bw.write(内容);
bw.close();
fw.close();
结语以上就是关于Java的常用API的学习也是学习Java基础必须要掌握的非常之重要感谢各位看官的观看谢谢下期见