java 常用操作
1、数组求和
1 int sumRolls = Arrays.stream(rolls).sum();
2、java 获取用键盘输入常用的两种方法
方法 1:通过 Scanner
1 Scanner input = new Scanner(System.in); 2 String s = input.nextLine(); 3 input.close();
方法 2:通过 BufferedReader
1 BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 2 String s = input.readLine();
3、栈
1 Stack<Integer> st = new Stack<>(); 2 3 interface MyStack { 4 public void clear(); 5 6 public boolean empty();//判断栈是否为空 7 8 public Object peek();// 查看堆栈顶部的对象,但不从堆栈中移除它。 9 10 public void push(Object x);// 向栈顶添加元素 11 12 public Object pop();// 移除堆栈顶部的对象,并作为此函数的值返回该对象。 13 14 int search(Object element); //返回对象在堆栈中的位置,以 1 为基数。 15 }
4、队列
1 public void test(){ 2 Queue<Integer> q = new LinkedList<>(); 3 boolean add = q.add(1); 4 boolean offer = q.offer(1); 5 Integer remove = q.remove(); 6 Integer poll = q.poll(); 7 q.add(2); 8 q.peek(); 9 q.element(); 10 int size = q.size(); 11 }
优先队列
1 public void test(){ 2 Queue<Integer> q = new PriorityQueue<>(); 3 Queue<Integer> qq = new PriorityQueue<>(cmp); 4 qq.add(1); 5 qq.add(3); 6 qq.add(2); 7 while(qq.size() > 0){ 8 System.out.println(qq.poll()); 9 } 10 } 11 12 //自定义比较器,降序排列 13 static Comparator<Integer> cmp = (e1, e2) -> e2 - e1; 14 15 static Comparator<Integer> cmp2 = new Comparator<Integer>() { 16 public int compare(Integer e1, Integer e2) { 17 return e2 - e1; 18 } 19 };
双端队列
1 Deque<Integer> deque = new ArrayDeque<Integer>(); 2 Deque<Integer> deque2 = new LinkedList<>();
5、list
1 public void test() { 2 List<Integer> a = new ArrayList<Integer>(); 3 a.size(); 4 a.add(1); 5 a.addAll(Arrays.asList(1,2,3,4,5,6)); 6 a.remove(1); 7 a.remove((Object)2); 8 a.get(2); 9 a.contains(3); 10 a.stream().forEach(System.out::println); 11 }
List< Integer > 转 Integer[ ]
Integer[] integers = list.toArray(new Integer[list.size()]);
List< Integer > 转 int[ ]
int[] arr2 = list.stream().mapToInt(Integer::valueOf).toArray();
Integer[ ]转 int[ ]
int[] arr= Arrays.stream(integers).mapToInt(Integer::valueOf).toArray();
6、map
1 public void test() { 2 Map<String, Integer> mp = new HashMap<>(); 3 Map<String, Integer> mp2 = new HashMap<>(); 4 mp.put("hello", 7); 5 mp2.put("world", 7); 6 mp.putAll(mp2); 7 boolean hello = mp.containsKey("hello"); 8 boolean b = mp.containsValue(7); 9 10 for(Map.Entry<String, Integer> entry : mp.entrySet()){ 11 String mapKey = entry.getKey(); 12 Integer mapValue = entry.getValue(); 13 System.out.println(mapKey+":"+mapValue); 14 } 15 16 for(String key : mp.keySet()){ 17 System.out.println(key); 18 } 19 20 for(Integer value : mp.values()){ 21 System.out.println(value); 22 } 23 24 Iterator<Map.Entry<String, Integer>> entries = mp.entrySet().iterator(); 25 while(entries.hasNext()){ 26 Map.Entry<String, Integer> entry = entries.next(); 27 String key = entry.getKey(); 28 Integer value = entry.getValue(); 29 System.out.println(key+":"+value); 30 } 31 32 //通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作; 33 for(String key : mp.keySet()){ 34 Integer value = mp.get(key); 35 System.out.println(key+":"+value); 36 }
为什么://通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作;
7、set
1 public void test() { 2 Set<Integer> s = new HashSet<>(); 3 s.add(1); 4 s.add(2); 5 s.add(3); 6 s.contains(1); 7 s.remove(1); 8 System.out.println(Arrays.toString(s.toArray()));// [2,3] 9 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~