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());}} }