Java与Python语法对比

本文列举了Java与Python的一些常见的语法的对比

一、数据结构

数据结构JavaPython
字符串String s = "XXX"s = "XXX"
静态数组T[] dirs = new T[5][0]*5
动态数组ArrayList<T>[]
链表LinkedList<T>N/A
OrderedSetTreeSet<T>N/A
OrderedMapTreeMap<T1,T2>N/A
HashSetHashSet<T>set()
HashMapHashMap<T1,T2>dict()
PriorityQueue<T>[]/heapq.*
队列Queue<T>queue
双端队列Deque<T>collections.deque() / queue.deque()
Stack<T>[]/collections.deque()

二、字符串

字符串方法JavaPython
创建字符串String s = "XXX"s = "XXX"
将指定的子串str1替换为目标子串str2s.replace(str1,str2)s.replace(str1,str2)
切片s.substring(3)/s.substring(3,5)s[3:]/s[3:5]/s[::-1]/s[::2]
查找指定子串在字符串中出现的位置,若未找到则返回-1s.indexOf(str,x)s.find(str,x)
查找指定子串在字符串中出现的位置,若未找到则引发ValueError异常N/As.index(str)
大小写方法s.toUpperCase()/s.toLowerCase()s.title()/s.lower()/s.upper()
去除空白方法s.trim()s.strip()/s.lstrip()/s.rstrip()
判断是否以指定子串开头s.startsWith(str)s.startswith(str)
判断是否以指定子串结尾s.endsWith(str)s.endswith(str)
获取指定索引的字符s.charAt(x)s[x]

三、数组

数组方法JavaPython
创建静态数组int []a = new int[]{1,2,3}a = [1,2,3]
创建一维动态数组int []a = new int[n]/Array.fill(a,x)a = [x]*n
创建二维动态数组int [][]a = new int[m][n]/for (int []row:a){Array.fill(row,x)}a = [[x]*n for _ in range(m)]
添加元素a.Add(x)a.append(x)/a.extend(x)
删除元素a.remove()a.remove()/del a[x]

四、哈希表

哈希表方法JavaPython
创建Map<Integer,Integer> m = new HashMap<>()a = dict()
插入键值对m.put(key,value)a[key] = value
获取值value = m.get(key)value = a[key]
判断键是否在哈希表中m.containsKey(key)key in a

五、优先队列/堆

优先队列/堆Java(小根堆)Python(小根堆)
创建Queue<Integer> q = new PriorityQueue<>()q = []
通过数组创建Queue<Integer> q = new PriorityQueue<>(a) heapify(a)
插入值q.offer(x)heapq.heappush(q,x)
获取堆顶的值int x = q.peek()x = q[0]
弹出int x = q.poll()x = heapq.heappop(q)

六、类型转换

类型转换JavaPython
数组转集合Set<Integer> b = new HashSet<>(a)b = set(a)
数字转字符串String s = Integer.toString(x)s = str(x)
字符串转数字int x = Integer.parseInt(s) x = int(s)
数字转ASCIIint x = c - '0'x = ord(c) - ord('0')
ASCII转数字int x = character.getNumericValue(c)x = chr(c)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值