Java基础知识
一、String类型–一旦创建不可修改
1. 创建:
1) String str = "HelloWorld";
2) String str = new String("HelloWorld");
2. 长度:.length()
String str = "hello";
str.length();
3. 找到特定字符:.charAt()
String str = "hello";
str.charAt(1) = "e";
4. 字符转换成int类型: -“0”
String num = "12345";
int number = num.charAt(4) - '0';
number = 4
二、StringBuffer和StringBuilder类型–可多次修改字符串
1. 创建:
StringBuilder sb = new StringBuilder();
2. 增加:.append()
sb.append("he");
sb = 'he';
3. 倒转:.reverse()
sb.reverse("hello");
sb = 'olleh';
4. 删除:.delete()
sb.delete(1,2);
sb = 'hlo';
三、List类型与Array类型
Array类型 | List类型 |
---|---|
新建: int[ ] array = new int ; | 新建: List<List>wall |
长度:array.length; | 长度:wall.size( ); wall.get(i).size( ) |
得到数值:array[i] | 得到数值:wall.get(i) |
区别:array一旦创建不可修改大小 | 区别:大小仍可修改,使用add和remove |
四、Hashmap
相同的key值,value会自动被覆盖
可以用来计数
value可以用来存一个class(如leetcode697)
1. 创建:
Map<Integer, Integer>hp = new HahsMap<>();
2. 是否含有key:.containsKey(key)
hp.containsKey(key);
True/false
3. 得到value值:.get(key)
hp.get(key);
4. 遍历hashmap,得到value值:entry
for(Map.Entry<Integer, Integer>entry : hp.entrySet( )){
entry.getValue( );
}
5. 添加:.put(key,value)
hp.put(key, value);
五、链表linkedlist
1. 创造节点(虚拟节点–不用考虑head问题)
ListNode dummy = new ListNode(0);
dummy.next = head;
2. 下个节点指向
node.next = newNode;
3. 节点是否为空
if(node==null)
4. 节点的值
if(node.next.val ==val)
5. 返回值类型是链表时,返回头节点
return head;
return dummy.next;