導航:首頁 > 編程語言 > java訪問string的元素

java訪問string的元素

發布時間:2023-08-03 11:41:05

java 怎樣輸入字元串,並訪問其中的每一個元素呢

String 方法toCharArray() 將此字元串轉換為一個新的字元數組。
再訪問

㈡ java 如何獲取字元串中的某個值

先使用replace把var去掉str.replace("var ","");然後使用split分割";",在遍歷分割後字元串數組,每一內個元素都容用split分割"=",將分割後的數組存入map,然後需要哪個值就用map get一下就可以。

㈢ Java String數組里的東西怎麼取 (比如 String[] A = {1,2,3,4})

Java數組是在Java編程中經常使用的一個類,下面是對Java數組String的使用方法:

1、Java數組的語法:String[數組下標], Java數組的下標是從0開始的。

㈣ java查詢String中所有的元素並輸出重復次數

實現思路:就是將字元串變為一個一個的char類型,之後進行循環計數,同樣的加版1,之後權輸出計算結果。

importjava.util.ArrayList;
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="abcdaebijkd";
ArrayListlist=newArrayList();
for(inti=0;i<s.length();i++){
charc=s.charAt(i);
if(s.indexOf(c,i+1)>-1){
Characterch=newCharacter(c);
if(!list.contains(ch))
list.add(ch);
}
}
for(inti=0;i<list.size();i++)
System.out.print(list.get(i)+",");
}
}

㈤ java中怎麼實現查找某個數組里的string值

如何檢查一個未排序的數組中是否包含某個特定值,這是一個在Java中非常實用並且頻繁使用的操作。另外,這也是Stack
Overflow上面非常受關注的問題。在得票數最多的答案中,可以看到,檢查數組中是否包含特定值可以用多種不同的方式實現,但是時間復雜度差別很大。
下面,我將為大家展示各種方法及其需要花費的時間。

1.檢查數組中是否包含特定值的四種不同方法

1)使用List:

public static boolean useList(String[] arr, String targetValue) {
return Arrays.asList(arr).contains(targetValue);
}

2)使用Set:

public static boolean useSet(String[] arr, String targetValue) {
Set<String> set = new HashSet<String>(Arrays.asList(arr));
return set.contains(targetValue);
}

3)使用一個簡單循環:

public static boolean useLoop(String[] arr, String targetValue) {
for(String s: arr){
if(s.equals(targetValue))
return true;
}
return false;
}

4)使用Arrays.binarySearch():

註:下面的代碼是錯誤的,這樣寫出來僅僅為了理解方便。binarySearch()只能用於已排好序的數組中。所以,你會發現下面結果很奇怪。

public static boolean useArraysBinarySearch(String[] arr, String targetValue) {
int a = Arrays.binarySearch(arr, targetValue);
if(a > 0)
return true;
else
return false;
}

2.時間復雜度

通過下面的這段代碼可以近似比較幾個方法的時間復雜度。雖然分別搜索一個大小為5、1K、10K的數組是不夠精確的,但是思路是清晰的。

public static void main(String[] args) {
String[] arr = new String[] { "CD", "BC", "EF", "DE", "AB"};

//use list
long startTime = System.nanoTime();
for (int i = 0; i < 100000; i++) {
useList(arr, "A");
}
long endTime = System.nanoTime();
long ration = endTime - startTime;
System.out.println("useList: " + ration / 1000000);

//use set
startTime = System.nanoTime();
for (int i = 0; i < 100000; i++) {
useSet(arr, "A");
}
endTime = System.nanoTime();
ration = endTime - startTime;
System.out.println("useSet: " + ration / 1000000);

//use loop
startTime = System.nanoTime();
for (int i = 0; i < 100000; i++) {
useLoop(arr, "A");
}
endTime = System.nanoTime();
ration = endTime - startTime;
System.out.println("useLoop: " + ration / 1000000);

//use Arrays.binarySearch()
startTime = System.nanoTime();
for (int i = 0; i < 100000; i++) {
useArraysBinarySearch(arr, "A");
}
endTime = System.nanoTime();
ration = endTime - startTime;
System.out.println("useArrayBinary: " + ration / 1000000);
}

結果:

useList: 13
useSet: 72
useLoop: 5
useArraysBinarySearch: 9

對於長度為1K的數組:

String[] arr = new String[1000];

Random s = new Random();
for(int i=0; i< 1000; i++){
arr[i] = String.valueOf(s.nextInt());
}

結果:

1
2
3
4

useList: 112
useSet: 2055
useLoop: 99
useArrayBinary: 12

對於長度為10K的數組:

String[] arr = new String[10000];

Random s = new Random();
for(int i=0; i< 10000; i++){
arr[i] = String.valueOf(s.nextInt());
}

結果:

useList: 1590
useSet: 23819
useLoop: 1526
useArrayBinary: 12

很明顯,使用簡單循環的方法比使用其他任何集合效率更高。許多開發者會使用第一種方法,但是它並不是高效的。將數組壓入Collection類型中,需要首先將數組元素遍歷一遍,然後再使用集合類做其他操作。

如果使用Arrays.binarySearch()方法,數組必須是已排序的。由於上面的數組並沒有進行排序,所以該方法不可使用。

實際上,如果你需要藉助數組或者集合類高效地檢查數組中是否包含特定值,一個已排序的列表或樹可以做到時間復雜度為O(log(n)),hashset可以達到O(1)。

㈥ 怎樣查詢一個JAVA String數組裡面所有的數在資料庫裡面對應的值

這個問題,只要從資料庫單個查詢出來再拼出來就行了.
select val from table where key = "a";

㈦ java中如何用String訪問對象的屬性

利用反射可以獲得類的變數名,給你個例子
public class MyTools {
public static void setAllComponentsName(Object f) {
// 獲取f對象對應類中的所有屬性域
Field[] fields = f.getClass().getDeclaredFields();
for(int i = 0 , len = fields.length; i < len; i++) {
// 對於每個屬性,獲取屬性名
String varName = fields[i].getName();
try {
// 獲取原來的訪問控制許可權
boolean accessFlag = fields[i].isAccessible();
// 修改訪問控制許可權
fields[i].setAccessible(true);
// 獲取在對象f中屬性fields[i]對應的對象中的變數
Object o = fields[i].get(f);
System.out.println("傳入的對象中包含一個如下的變數:" + varName + " = " + o);
// 恢復訪問控制許可權
fields[i].setAccessible(accessFlag);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
}
}
}

public static void main(String[] args)
{
// 測試代碼用來獲取一個JLabel中聲名的所有的屬性名和其屬性變數
setAllComponentsName(new JLabel("測試"));
}
}

閱讀全文

與java訪問string的元素相關的資料

熱點內容
猥瑣貓表情教程 瀏覽:599
android音頻文件格式 瀏覽:458
漫畫臉app哪裡可以下載 瀏覽:959
購買歡樂升級歡樂豆 瀏覽:282
學習智能機器人用什麼編程最好 瀏覽:655
蘋果手機如何管控app 瀏覽:633
mn文件夾 瀏覽:590
安卓平板通用刷機包下載 瀏覽:751
安卓獲取內部存儲路徑 瀏覽:880
寫代碼兩台顯示器 瀏覽:327
unitypackage壓縮文件 瀏覽:493
奕心安卓 瀏覽:563
使用土地的有關證明文件包含哪些 瀏覽:493
數據標注哪裡可以接 瀏覽:482
在家自學編程下什麼學 瀏覽:705
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510
播放草莓的圖片我都文件 瀏覽:55

友情鏈接