- 字符串:
字符串可以放到數組中,就是在內存中先聲明一個連續的內存空間,然後再把字符串放進去,一個指針指在這個數組上,在此兩個數組字符串的內存地址不一樣,所以s1!=s2。
字符串也可以放在指針上,此時不能改變他的值,他就是一個常量字符串,是隻讀的。此時指針能動,多個指針可以指到這個字符串上。s1==s2 - 字符串的統計:
對於單個字符串統計字符的個數的思路一般是先查找出來。然後再統計,可以將字符串先轉換成字符,再由字符生成ASK碼,對ASK碼進行對比,如果兩個一樣就代表是同一個字符,這樣浪費時間,要拿ASK碼一個一個進行比較,所以我們用ASK%1,生成哈希空間,後面進來的字符串轉成ASK碼之後只要給空間裏面填就好了,這樣需要在內存提前開闢足夠多的的空間,大量浪費了空間。所以它相當於浪費空間複雜度賺取時間複雜度。
package suanfa;
public class MyString {
public static void main(String[] args) {
String str = "a abc fo abc gsdfsdsbcsgsod abcsgs abc";
int fromIndex = 0;
int count = 0;//個數
while(true){
int index = str.indexOf("abc", fromIndex);
if(-1 != index){
fromIndex = index + 1;
count++;
}else{
break;
}
}
System.out.println(count);
}
}
- 字符串匹配: