java刷题基础知识
List<int[]> merged =new ArrayList<int[]>();
return merged.toArray(new int[merged.size()][]);
表示一个存储int[]类型元素的列表,list灵活支持扩展,因为不知道最后有几个区间,所以用list,最后toArray返回成数组。char[] array= str.toCharArray返回字符数组
Arrays.sort(array);
String a=new String (array); 又把它转回字符串。
数组的自定义比较
Arrays.sort(intervals,Comparator<int[]>({
public int compare(int[] interval1,int[] interval2){
return interval1[0]-interval2[0];
}
});
产生新数组,大括号
这里注意是一维数组哈new int[]{L,R}
list语法
.get
.add
.size
有ArrayList, LinkedList两种,
前者
基于动态数组实现。
适合随机访问和遍历,插入和删除性能较差(需要移动元素)。
后者
基于双向链表实现。
适合频繁插入和删除,随机访问性能较差(需要遍历链表)。
总结对比
数据类型 size()length/length()说明 数组 不存在 length(属性)获取数组长度 String不存在 length()(方法)获取字符串长度 集合类(如 List)size()(方法)不存在 获取集合元素数量 StringBuilder/StringBuffer不存在 length()(方法)获取字符串长度
使用建议
数组:
使用
length属性获取长度。示例:
array.length。字符串(
String):
使用
length()方法获取长度。示例:
str.length()。集合类(如
List、Set、Map):
使用
size()方法获取元素数量。示例:
list.size()。
StringBuilder和StringBuffer:
使用
length()方法获取长度。示例:
sb.length()。
记忆技巧
length:
用于数组(属性)和字符串(方法)。
size():
用于集合类(如
List、Set、Map)。
length():
用于字符串和
StringBuilder/StringBuffer。
哈希集合
Set<Integer> set=new HashSet<Integer>();
(1)
Set的声明(set.contains(...))
import java.util.HashSet; import java.util.Set;public class SetExample {public static void main(String[] args) {// 使用 Set 接口声明变量Set<Integer> set = new HashSet<>();// 添加元素set.add(1);set.add(2);// 遍历集合for (int num : set) {System.out.println(num);}} }(2)
Map的声明(map.containsKey(...), mp.get(...),map.values(...)))
import java.util.HashMap; import java.util.Map;public class MapExample {public static void main(String[] args) {// 使用 Map 接口声明变量Map<String, Integer> map = new HashMap<>();// 添加键值对map.put("Alice", 25);map.put("Bob", 30);// 遍历映射for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println(entry.getKey() + ": " + entry.getValue());}} }
