精华内容
下载资源
问答
  • java字符串字符串数组Java String array is used to hold fixed number of Strings. String array is very common in simple java programs, specially among beginners to java and to test some specific ...

    java字符串转字符串数组

    Java String array is used to hold fixed number of Strings. String array is very common in simple java programs, specially among beginners to java and to test some specific scenarios. Even java main method argument is string array – public static void main(String[] args). So today we will look into different aspects of java string array with example programs.

    Java String数组用于保存固定数量的String。 字符串 数组简单的Java程序中非常常见,特别是在Java初学者和测试某些特定情况的初学者中。 甚至java main方法的参数也是字符串数组– public static void main(String[] args) 。 因此,今天我们将通过示例程序研究java字符串数组的不同方面。

    • Java String array is basically an array of objects.

      Java String数组基本上是对象的数组。
    • There are two ways to declare string array – declaration without size and declare with size.

      声明字符串数组的方法有两种:不声明大小和声明大小。
    • There are two ways to initialize string array – at the time of declaration, populating values after declaration.

      有两种初始化字符串数组的方法-在声明时,在声明后填充值。
    • We can do different kind of processing on string array such as iteration, sorting, searching etc.

      我们可以对字符串数组进行不同类型的处理,例如迭代,排序,搜索等。

    Let’s go over java string array example programs now.

    现在让我们来看一下Java字符串数组示例程序。

    Java字符串数组声明 (Java String Array Declaration)

    Below code snippet shows different ways for string array declaration in java.

    下面的代码片段显示了Java中字符串数组声明的不同方法。

    String[] strArray; //declare without size
    
    String[] strArray1 = new String[3]; //declare with size

    Note that we can also write string array as String strArray[] but above shows way is the standard and recommended way. Also in the above code, strArray is null whereas strArray1 value is [null, null, null].

    请注意,我们也可以将字符串数组编写为String strArray[]但以上所示的方法是标准和推荐的方法。 同样在上面的代码中, strArraynullstrArray1值为[null, null, null]

    Java字符串数组初始化 (Java String Array Initialization)

    Let’s look at different ways to initialize string array in java.

    让我们看看在Java中初始化字符串数组的不同方法。

    //inline initialization
    String[] strArray1 = new String[] {"A","B","C"};
    String[] strArray2 = {"A","B","C"}; 
    
    //initialization after declaration
    String[] strArray3 = new String[3];
    strArray3[0] = "A";
    strArray3[1] = "B";
    strArray3[2] = "C";

    All the three string arrays will have same values. However if you will call equals method on them, it will return false.

    三个字符串数组都将具有相同的值。 但是,如果您将对它们调用equals方法,它将返回false。

    System.out.println(strArray1.equals(strArray2)); // false
    System.out.println(Arrays.toString(strArray1).equals(Arrays.toString(strArray2)));// true

    The reason is that array are Objects and Object class implements equals() method like below.

    原因是数组是Objects,而Object类实现了equals()方法,如下所示。

    public boolean equals(Object obj) {
            return (this == obj);
        }

    Second statement is true because when converted to String, their values are same and String class equals() method implementation check for values. For more details, please check String class API documentation.

    第二条语句是正确的,因为当转换为String时,它们的值是相同的,并且String类equals()方法实现会检查值。 有关更多详细信息,请查看String类API文档。

    遍历Java字符串数组 (Iterating over java string array)

    We can iterate over string array using java for loop or java foreach loop.

    我们可以使用java for循环java foreach循环遍历字符串数组。

    String[] strArray2 = {"A","B","C"}; 
    for (int i = 0; i < strArray2.length; i++) {
    	System.out.print(strArray2[i]);
    }
    
    for (String str : strArray2) {
    	System.out.print(str);
    }

    在字符串数组中搜索字符串 (Search for a String in the String array)

    We can use for loop to search for an string in the array, below is a simple example for that.

    我们可以使用for循环在数组中搜索一个字符串,下面是一个简单的例子。

    package com.journaldev.stringarray;
    
    public class JavaStringArrayExample {
    
    	public static void main(String[] args) {
    		String[] strArray = { "A", "B", "C" };
    		
    		boolean found = false;
    		int index = 0;
    		String s = "B";
    		for (int i = 0; i < strArray.length; i++) {
    			if(s.equals(strArray[i])) {
    				index = i; found = true; break;
    			}
    		}
    		if(found)
    			System.out.println(s +" found at index "+index);
    		else
    			System.out.println(s +" not found in the array");
    		
    	}
    
    }

    Notice the use of break keyword to get out of the loop as soon as we found the string.

    注意,一旦找到字符串,就使用break关键字退出循环。

    Java字符串数组排序 (Java String Array Sorting)

    We can implement our own sorting algorithm, or we can use Arrays class sorting method.

    我们可以实现自己的排序算法,也可以使用Arrays类的排序方法。

    String[] vowels = {"a","i","u","e","o"};
    		
    System.out.println("Before sorting "+Arrays.toString(vowels));
    
    Arrays.sort(vowels);
    		
    System.out.println("After sorting "+Arrays.toString(vowels));

    Output of above code snippet will be:

    上面的代码片段的输出将是:

    Before sorting [a, i, u, e, o]
    After sorting [a, e, i, o, u]

    Note that String implements Comparable interface, so it works for natural sorting. Incase you want to sort by some other way, you can use Arrays.sort() overloaded method by passing a Comparator. Learn about these sorting techniques at Comparable and Comparator in java.

    请注意,String实现了Comparable接口,因此适用于自然排序。 如果要通过其他方式排序,则可以通过传递Comparator来使用Arrays.sort()重载方法。 在Java中的Comparable和Comparator中了解有关这些排序技术的信息。

    将字符串转换为字符串数组 (Convert String to String Array)

    We can convert String to string array using it’s split() method. It’s useful when you get a single string as input with values separated using delimiter character.

    我们可以使用它的split()方法将String转换为字符串数组。 当您获得单个字符串作为输入,并且使用定界符将值分隔开时,这很有用。

    String str = "a,e,i,o,u";
    String[] vowels = str.split(",");
    System.out.println(Arrays.toString(vowels)); //[a, e, i, o, u]

    将字符串数组转换为字符串 (Convert String Array to String)

    We can use Arrays.toString() method to convert String array to String. Note that array doesn’t implement toString() method, so if you will try to get it’s string representation then you will have to rely on Arrays class, or else write your own custom code.

    我们可以使用Arrays.toString()方法将String数组转换为String。 请注意,array不实现toString()方法,因此,如果您尝试获取它的字符串表示形式,则必须依赖Arrays类,或者编写自己的自定义代码。

    String[] vowels = { "a", "e", "i", "o", "u" };
    System.out.println(vowels);
    System.out.println(Arrays.toString(vowels));

    Output will be like below.

    输出将如下所示。

    [Ljava.lang.String;@3d04a311
    [a, e, i, o, u]

    The first output is because of Object class toString() implementation like below.

    第一个输出是由于如下所示的Object类toString()实现。

    public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }

    要列出的Java字符串数组 (Java String Array to List)

    We can get a list representation of string array using Arrays.toList() method. Note that this list is backed by the array and any structural modification will result in java.lang.UnsupportedOperationException.

    我们可以使用Arrays.toList()方法获得字符串数组的列表表示形式。 请注意,此列表由数组支持,任何结构修改都会导致java.lang.UnsupportedOperationException

    String[] vowels = { "a", "e", "i", "o", "u", "a", "o" };
    
    List<String> vowelsList = Arrays.asList(vowels);
    System.out.println("vowelsList = "+vowelsList);
    //vowelsList.add("x"); //java.lang.UnsupportedOperationException
    
    vowelsList.set(0, "x"); //allowed because no structural modification
    System.out.println("vowelsList = "+vowelsList);

    That’s all for java string array.

    Java字符串数组就这些了。

    Reference: Arrays Oracle Documentation

    参考: 阵列Oracle文档

    翻译自: https://www.journaldev.com/17809/java-string-array

    java字符串转字符串数组

    展开全文
  • java字符数组,java数组的定义与使用二维数组String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组String[] str = new String[]{"","","","",""};String[] str = {"","","","",""};String...

    java字符数组,java数组的定义与使用

    二维数组

    String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组

    String[] str = new String[]{"","","","",""};

    String[] str = {"","","","",""};

    String数组初始化区别

    首先应该明白java数组里面存的是对象的引用,所以必须初始化才能用;  String[] str = {"1","2","3"}与String[] str = newString[]{"1","2","3"}在内存里有什么区别?  编译执行结果没有任何区别。更不可能像有些人想当然说的在栈上分配空间,Java的对象都是在堆上分配空间的。

    这里的区别仅仅是代码书写上的:

    String[] str = {"1","2","3"}; 这种形式叫数组初始化式(ArrayInitializer),只能用在声明同时赋值的情况下。

    而 String[] str = new String[]{"1","2","3"}是一般形式的赋值,=号的右边叫数组字面量(ArrayLiteral),数组字面量可以用在任何需要一个数组的地方(类型兼容的情况下)。如:

    String[] str = {"1","2","3"}; // 正确的

    String[] str = new String[]{"1","2","3"} // 也是正确的

    String[] str;

    str = {"1","2","3"}; // 编译错误

    因为数组初始化式只能用于声明同时赋值的情况下。

    改为:

    String[] str;

    str = new String[] {"1","2","3"}; // 正确了

    又如:

    void f(String[] str) {

    }

    f({"1","2","3"}); // 编译错误

    正确的应该是:

    f(new String[] {"1","2","3"});

    还可以 String s=new String[30];

    如果没有显式赋值,则系统自动赋默认值null。

    PS:

    笔者所犯错误为在初始化数组的时候定义为String[] str = newString[]{},如此定义相当于创建了创建一个长度为0的String(字符串)型的一维数组。在后期为其赋值的时候str[0]="A",就会抛出异常。

    展开全文
  • java 字符串数组

    千次阅读 2012-09-24 09:05:59
    Java字符串数组的基本操作和转换的实现! 主要是:字符和字符串的转换,字符数组和字符串的转换! 1.一维数组:  定义1:String [ ]br= new String[10]  定义2:String []br1; //一维数组  ...

    Java字符串数组的基本操作和转换的实现!

    主要是:字符和字符串的转换,字符数组和字符串的转换!

    1.一维数组:

       定义1String [ ]br= new String[10]

       定义2String []br1; //一维数组

               String []br1=new String[3]

       初始化单个:br1[0]="faf";

       初始化多个:br={"INFO_00", "INFO_01", "INFO_02"}

       访问字符串中的字符:br[0].CharAt[i];

    2.二维数组:

       定义1String [][]a;

               a=new String[3][4];

    定义2String[][]a=new String[3][4]

    初始化单个元素:可以是字符串常量也可以是变量

    a[0][0]="22222"; //初始化

       String p="fafafa";

       a[0][1]=p;

    初始化全部:String[][] info =

    {

                   {"I12222", "发放1", "I埃罚罚外国02"},

                   {"INFO_10", "INF2O_11"}

                     };

    访问和引用:

    某个元素的字符:

    System.out.println(info[0][0].charAt(3));

    某个元素:a[i][j]     类型当然是String

    3.相互转换:

    1)字符=》字符串 或者 字符串=》字符串数组

        for(int i=0;i<p.length();i++)

                     // 把一个字符串变成字符串数组

        br[i]=String.valueOf(p.charAt(i));//变换为字符串

    2)字符数组和字符串的相互转换:

       已知: String p=”faafaff”;

    字符串=》字符数组:char[] str=p.toCharArray();

    字符数组=》字符串: string k=string.valueOf(str)

    展开全文
  • 允许用户使用字符串数组.他们可以向数组添加字符串,从数组中删除字符串,搜索数组中的字符串,最终他们将能够对数组进行排序.分类是搞砸我的原因.我尝试过几种不同的方法.第一种方法是将数组转换为ArrayList,并使用...

    允许用户使用字符串数组.他们可以向数组添加字符串,从数组中删除字符串,搜索数组中的字符串,最终他们将能够对数组进行排序.分类是搞砸我的原因.我尝试过几种不同的方法.第一种方法是将数组转换为ArrayList,并使用Collections对ArrayList进行排序,ArrayList将转换回静态类数组.它不起作用.我尝试的第二种方法是迭代数组并尝试仅排序用户添加的字符串而不是数组中的所有内容(因为数组中有一些空值).也许我应该遍历数组,然后将非null值存储到一个新的数组中,然后我可以对它进行排序?但是如果我想在排序新数组后添加更多字符串呢?这就是为什么我停止了第二个解决方案.第三次尝试是在我的数组上使用Arrays.sort()但由于某种原因它不起作用.

    这是一个例外:

    Exception in thread "main" java.lang.NullPointerException

    at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:290)

    at java.util.ComparableTimSort.sort(ComparableTimSort.java:157)

    at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)

    at java.util.Arrays.sort(Arrays.java:472)

    at java.util.Collections.sort(Collections.java:155)

    at testingSearch.sortArray(testingSearch.java:93)

    at testingSearch.main(testingSearch.java:42)

    这是我的代码:

    import java.util.Scanner;

    import java.util.Arrays;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.List;

    public class testingSearch {

    static String[] strArray;

    static {

    strArray = new String[5];

    }

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    while(true){

    System.out.println("1. Add string to the string array.");

    System.out.println("2. Remove string from the string array.");

    System.out.println("3. Display strings in string array.");

    System.out.println("4. Search the string array for a string.");

    System.out.println("5. Sort the strings in the string array.");

    int userChoice = 0;

    userChoice = input.nextInt();

    switch(userChoice) {

    case 1:

    addString();

    break;

    case 2:

    removeString();

    break;

    case 3:

    displayStrings();

    break;

    case 4:

    searchArray();

    break;

    case 5:

    sortArray();

    break;

    }

    }

    }

    public static void addString(){

    Scanner input = new Scanner(System.in);

    System.out.println("What string do you want to add?");

    String userInput;

    userInput = input.nextLine();

    ArrayList stringList = new ArrayList (Arrays.asList(strArray));

    stringList.add(userInput);

    strArray = stringList.toArray(strArray);

    }

    public static void removeString(){

    Scanner input = new Scanner(System.in);

    System.out.println("What string do you want to remove?");

    String userInput;

    userInput = input.nextLine();

    ArrayList stringList = new ArrayList (Arrays.asList(strArray));

    stringList.remove(userInput);

    strArray = stringList.toArray(strArray);

    }

    public static void displayStrings(){

    for (String s: strArray){

    if (!(s == null)){

    System.out.println(s);

    }

    }

    }

    public static void searchArray(){

    Scanner input = new Scanner(System.in);

    System.out.println("What string do you want to search the array for?");

    String userInput;

    userInput = input.nextLine();

    ArrayList stringList = new ArrayList(Arrays.asList(strArray));

    if (stringList.contains(userInput)){

    System.out.println("The string array contains that string!");

    }

    else {

    System.out.println("The string array does not contain that string...");

    }

    }

    public static void sortArray(){

    /*ArrayList stringList = new ArrayList (Arrays.asList(strArray));

    Collections.sort(stringList);

    strArray = stringList.toArray(strArray);*/

    /*for (String s: strArray) {

    if (!(s == null)){

    Arrays.sort(strArray);

    }

    }*/

    List stringList = new ArrayList(Arrays.asList(strArray));

    Collections.sort(stringList);

    strArray = stringList.toArray(strArray);

    //Arrays.sort(strArray);

    }

    }

    展开全文
  • package ...import java.util.LinkedList;import java.util.List;public class Snippet {public static void main(String[] args){String[] a = new String[]{"1","5","3","4","23","7"};String[] b =...
  • String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c你就可以在你的程序中调用你输入的这些变量...
  • 下面小编就为大家带来一篇java字符串数组进行大小排序的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 字符串数组 转 字符串 字符数组 转 字符串 因为我老搞混,所以拿出来记录一下。 字符串数组 转 字符串 (SB循环追加,再转) String[ ] → String String[] arr={"abc","def","bcd"}; StringBuffer sb=new ...
  • public class Test {public static void main(String[] args) {String[] animals = {"dog","cat","rabbit","fish"};List animalList = Arrays.asList(animals);for(String str : animalList){System.out.println(str...
  • 我基本上需要使用数组来完成大学的这项任务.然后我应该检查输入(也是一个String)匹配String数组中存储的内容.我知道可以通过使用.equals()方法轻松比较Strings.但是,相同的方法不适用于String数组.我为StackOverflow...
  • 我希望能够为GTK ComboBox声明一个固定长度字符串的常量数组 . 是否可以在ADA中使用两个参数?此代码允许通过声明字符串来设置数组的大小 . 是否有可能以某种方式用参数替换规范中的常量?一个简单的数组不允许判别 ...
  • 展开全部packagetest;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashSet;importjava.util.List;importjava.util.Set;publicclassTest{publicstaticvoidmain(String[]args){//Str...
  • 如果必须使用数组,System.arraycopy是最有效,可扩展的解决方案。但是,如果必须多次从数组中删除一个元素,则应使用List的实现而不是数组。以下使用System.arraycopy以获得所需效果。public static Object[] ...
  • /**将JAVA字符串数组转C char字符数组(俗称字符串)的数组**/ char** stringArrToCharArr(JNIEnv * env, jclass jc, jobjectArray strArray ){ jstring jstr; jsize len = (*env)-&gt;GetArrayLength(env, ...
  • java字符串数组进行大小排序

    千次阅读 2017-08-14 09:40:09
    java字符串数组进行大小排序 若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lang.String的错误。 字符串比较大小可以用字符串长度...
  • JNI C创建Java字符串数组

    千次阅读 2017-07-31 11:08:38
    创建Java字符串数组注:jni中没有与String[]对应的数据类型,所以需要创建对象数组,循环添加jstring对象#include #include #include #define ARRAY_LENGTH 5 JNIEXPORT jobjectArray JNICALL J
  • 利用java字符串进行增删改查 实现的超市管理系统,。(动态增加数组长度和动态增加字符串数组长度)
  • java字符串数组没有初始化,默认值是null这个字符串; String [][] s=new String[10][10]; String str = s[0][0]+"1"; System.out.println(str); 不会报错,结果是null1
  • java字符串数组排序

    2020-01-06 15:15:16
    /**创建一个长度是8的字符串数组 使用8个长度是5的随机字符串初始化这个数组 对这个数组进行排序,按照每个字符串的首字母排序(无视大小写) 注1: 不能使用Arrays.sort() 要自己写 注2: 无视大小写,即 Axxxx 和 ...
  • Java字符串数组字典序排序

    千次阅读 2020-08-24 01:38:24
    String[] 字符串数组1) 正序排序2)逆序排序2. String 字符串3. int[] 整数数组 1. String[] 字符串数组 1) 正序排序 public String[] sortA(String[] strings){ Arrays.sort(strings, (o1,o2) -> (o1 + o2)....
  • Java字符串数组排序

    千次阅读 2019-04-22 11:10:30
    利用一个字符串数组排序讲解anonymous class,method reference以及lambda expression。后面代码体现了,inner class的lambda可以用整个outer class的field,但是必须是final类型才可以直接食用
  • 参考:http://www.cnblogs.com/plant/p/4637123.htmlhttps://zhidao.baidu.com/question/32741401.html内容:import java.io....import java.io.FileOutputStream;/*** @author czchina**/public class TestS...
  • 展开全部String s = "485729304";int[] a = new int[s.length()];... i++){//先由字符串转换成char,再转换成String,然后Integera[i] = Integer.parseInt( String.valueOf(s.charAt(i)));}//字符串中的数据一定要是数...
  • java 字符串数组转String

    千次阅读 2019-04-04 17:12:03
    字符串数组转String public static String toStr(String[] fields){ StringBuffer sb = new StringBuffer(); for(int i = 0; i < fields.length; i++){ sb. append(fields[i].trim()+",")...
  • java字符串数组取别名,冒泡排序

    千次阅读 2017-04-07 09:40:19
     * 有一个字符串数组,我们要对这个字符串数组取别名,以使得字符串数组中,每个字符串都是不相同的,规则如下  * 依次遍历字符串数组,如果是第一次出现,则别名为本身,如果重复出现,则别名为字符串加n,n从1...
  • 字符串数组转list实体集合 Resolved [com.alibaba.fastjson.JSONException: exepct ‘[’, but string, pos解决方法 首先需要导入json相关包,这里建议导入阿里巴巴的jar包 import com.alibaba.fastjson.JSON; ...
  • 而你正在尝试与字符串进行比较。对于数组,您必须自己遍历数组:publicclassT{publicstaticvoidmain(Stringargs[]){char[]list={'m','e','y'};intindex=-1;for(inti=0;(iif(list[i]=='e'){index=i;}}Syst...
  • Java字符串数组转集合方法

    千次阅读 2020-11-07 15:09:52
    //定义一个字符串 String zhuan = "1,2,3,4,5,6,7,8,9"; //分割字符串 String[] split = zhuan.split(","); // 把数组转成集合 List<String> stringList = Arrays.asList(split); //输出结果 S
  • public static String arrReverse(String str) { ...// 提取字符数组 StringBuffer buf = new StringBuffer(""); for (int i = 0; i < strArray.length / 2; i++) {// 数组反转算法 char temp = strArray[i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,603
精华内容 9,841
关键字:

java字符串数组

java 订阅