常用Java API

海哥  论坛元老 | 2024-9-13 11:08:48 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1015|帖子 1015|积分 3045

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1 字符串处理惩罚

1.1 String 类

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


  • length():返回字符串的长度。
  • charAt(index):返回指定索引处的字符。
  • substring(startIndex, endIndex):返回从 startIndex 到 endIndex-1 处的子字符串。
  • indexOf(char):返回字符在字符串中初次出现的索引,假如没有找到则返回 -1。
示例代码:
  1. String str = "Hello World";
  2. // 获取字符串长度
  3. int length = str.length();
  4. // 获取指定索引处的字符
  5. char ch = str.charAt(0);
  6. // 获取子字符串
  7. String substring = str.substring(0, 5);
  8. // 查找字符在字符串中首次出现的索引
  9. int index = str.indexOf('o');
复制代码
1.2 StringBuilder 类

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


  • append(string):将字符串追加到 StringBuilder 的末尾。
  • insert(index, string):在指定索引处插入字符串。
  • reverse():反转 StringBuilder 中的字符次序。
示例代码:
  1. StringBuilder sb = new StringBuilder();
  2. // 追加字符串
  3. sb.append("Hello ");
  4. sb.append("World");
  5. // 插入字符串
  6. sb.insert(5, "Java ");
  7. // 反转字符串
  8. sb.reverse();
复制代码
2 集合框架

2.1 List 接口

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


  • ArrayList:基于数组实现,支持元素的随机访问和动态增长。
  • LinkedList:基于链表实现,支持高效的插入和删除操纵。
示例代码(ArrayList):
  1. List<String> list = new ArrayList<>();
  2. // 添加元素
  3. list.add("Hello");
  4. list.add("World");
  5. // 获取元素
  6. String element = list.get(0);
  7. // 移除元素
  8. list.remove(1);
复制代码
示例代码(LinkedList):
  1. List<String> list = new LinkedList<>();
  2. // 添加元素
  3. list.add("Hello");
  4. list.add("World");
  5. // 获取元素
  6. String element = list.getFirst();
  7. // 移除元素
  8. list.removeFirst();
复制代码
2.2 Set 接口

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


  • HashSet:基于哈希表实现,不答应重复元素。
  • TreeSet:基于红黑树实现,元素按天然次序排序。
示例代码(HashSet):
  1. Set<String> set = new HashSet<>();
  2. // 添加元素
  3. set.add("Hello");
  4. set.add("World");
  5. // 检查元素是否存在
  6. boolean contains = set.contains("Hello");
  7. // 移除元素
  8. set.remove("World");
复制代码
示例代码(TreeSet):
  1. Set<String> set = new TreeSet<>();
  2. // 添加元素
  3. set.add("Hello");
  4. set.add("World");
  5. // 获取第一个元素
  6. String first = set.first();
  7. // 移除第一个元素
  8. set.remove(first);
复制代码
2.3 Map 接口

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


  • HashMap:基于哈希表实现,键值对之间的映射不保证次序。
  • TreeMap:基于红黑树实现,键值对按键的天然次序排序。
示例代码(HashMap):
  1. Map<String, Integer> map = new HashMap<>();
  2. // 添加键值对
  3. map.put("Hello", 1);
  4. map.put("World", 2);
  5. // 获取值
  6. int value = map.get("Hello");
  7. // 移除键值对
  8. map.remove("World");
复制代码
示例代码(TreeMap):
  1. Map<String, Integer> map = new TreeMap<>();
  2. // 添加键值对
  3. map.put("Hello", 1);
  4. map.put("World", 2);
  5. // 获取第一个键
  6. String firstKey = map.firstKey();
  7. // 移除第一个键值对
  8. map.remove(firstKey);
复制代码
2.4 遍历方式

1). 使用迭代器(Iterator)
  1. // 创建一个 ArrayList
  2. List<String> list = new ArrayList<>();
  3. list.add("Hello");
  4. list.add("World");
  5. list.add("Java");
  6. // 使用迭代器遍历 ArrayList
  7. Iterator<String> iterator = list.iterator();
  8. while (iterator.hasNext()) {
  9.     String element = iterator.next();
  10.     System.out.println(element);
  11. }
复制代码
2). 使用增强 for 循环
  1. // 创建一个 HashSet
  2. Set<String> set = new HashSet<>();
  3. set.add("Hello");
  4. set.add("World");
  5. set.add("Java");
  6. // 使用增强 for 循环遍历 HashSet
  7. for (String element : set) {
  8.     System.out.println(element);
  9. }
复制代码
3). 使用流(Stream)
  1. // 创建一个 HashMap
  2. Map<String, Integer> map = new HashMap<>();
  3. map.put("Hello", 1);
  4. map.put("World", 2);
  5. map.put("Java", 3);
  6. // 使用流遍历 HashMap
  7. map.keySet().stream()
  8.         .forEach(key -> System.out.println(key + ": " + map.get(key)));
复制代码
4). 使用 lambda 表达式
  1. // 创建一个 ArrayList
  2. List<String> list = new ArrayList<>();
  3. list.add("Hello");
  4. list.add("World");
  5. list.add("Java");
  6. // 使用 lambda 表达式遍历 ArrayList
  7. list.forEach(element -> System.out.println(element));
复制代码
5). 使用并行流(Parallel Stream)
  1. // 创建一个 ArrayList
  2. List<String> list = new ArrayList<>();
  3. list.add("Hello");
  4. list.add("World");
  5. list.add("Java");
  6. // 使用并行流遍历 ArrayList
  7. list.parallelStream()
  8.         .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 类:
  1. FileReader fr = new FileReader("file.txt");
  2. BufferedReader br = new BufferedReader(fr);
  3. String line;
  4. while ((line = br.readLine()) != null) {
  5.     // 处理每一行
  6. }
  7. br.close();
  8. fr.close();
复制代码
3.2 写入文件

要写入文件,可以使用 FileWriter 和 BufferedWriter 类:
  1. FileWriter fw = new FileWriter("file.txt");
  2. BufferedWriter bw = new BufferedWriter(fw);
  3. bw.write("内容");
  4. bw.close();
  5. fw.close();
复制代码
结语:以上就是关于Java的常用API的学习,也是学习Java基础必须要把握的,非常之紧张,感谢各位看官的观看,谢谢,下期见! 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表