Java常用数据结构常用方法

容器长度

length of stack is 		 "size()" = 0
length of Queue is 		 "size()" = 0
length of ArrayList is 	 "size()" = 0
length of HashMap is 	 "size()" = 0
length of Set is 		 "size()" = 0
length of String is 	 "length()" = 3
length of charArray is 	 "length" = 0
除了String和数组,其它的都是.size()方法。String是.length()方法,数组是.length属性

数组

求长度nums.length

##数学方法

求较大Math.max(num1, num2)
数组排序Arrays.sort(nums) (nums为普通数组,不是List)
数组转ArrayListArrays.asList(obj1, obj2, …);

String

String创建

相同值引用相同创建String s = “1234”
相同值引用相同创建String s = charArray
相同值引用不同创建String s2 = new String(charArray)

String方法

转字符数组s.toCharArray()
按下标访问s.charAt(idx)
插入s.insert(index, char/str/0-9)
长度s.length()
反转b.reverse();

StringBuffer

StringBuffer创建

从字符数组构建StringBuffer s = new StringBuffer(“abc”)
从String类型构建(转换)StringBuffer sb = new StringBuffer(string);

StringBuffer修改字符串

追加sb.append(char);
反转sb.reverse();
转String 1new String(sb)
转String 2sb.toString()
插入sb.insert(index, char/str/0-9)

List

List创建

长度为10的空listList list = new ArrayList()
指定长度的空listList list2 = new ArrayList(length)
二维ListList<List> list3 = new ArrayList<List>()

List常用方法

在末尾插入插入lsit.add(num);
在指定位置插入lsit.add(idx, num);
删除元素list.remove(idx);
访问list.get(idx);
修改list.set(idx, num)
判空list.isEmpty();
判断元素是否存在list.contains(num)
元素个数list.size()
分割子列表[start, end)list.subList(start, end)

Queue

queue创建

Queue<TreeNode> myQue = new LinkedList<TreeNode>();

queue方法

入队myQue.offer()
取队头元素不弹出myQue.peek()
取队头元素并弹出myQue.poll()
大小myQue.size()
判空myQue.isEmpty()

Stack

stack创建

Stack<Integer> st = new Stack<>()

stack方法

入栈st.push()
出栈st.pop()
取栈顶元素st.peek()
判空st.empty()
元素个数st.size()









map

创建

HashMap<Integer,Integer> myMap = new HashMap<>();

方法

插入myMap.put(key, value);
访问myMap.get(key);
key存在性myMap.containsKey(key);
value存在性myMap.containsValue(value);
判空myMap.isEmpty();

遍历map

Set<Integer> keySet = myMap.keySet();
for(int key : keySet){
	visit(myMap.get(key));
}

set

同map

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值