如何将大字符串拆分为两个不同的数组?

时间:2019-06-07 10:43:04

标签: java

我正在开发一个应用程序,其中用户创建了一个包含a和b的大字符串。现在,我想将字符'a'拆分为一个数组或字符串,并将'b'拆分为另一数组或字符串。并在需要时将其转换为原始形式。

我想要实现的是:

字符串:"abbabbaabbab"
array1:{'a','a','a','a','a'}
array2:{'b','b','b','b','b','b'}

2 个答案:

答案 0 :(得分:1)

执行此操作的原因和目的尚不清楚,但是,这是一种节省空间的方法,可以跟踪字符串中的a,b并在需要时恢复原始字符串-< / p>

  1. 转换为字节码-创建一个字节数组,并为a存储1,为b存储0。使用此数组来恢复您的字符串。
  2. 如果您绝对必须使用a和b创建2个数组,除非您也存储a和b的位置,否则这没有多大意义,因为您想在以后恢复原始字符串。您可以使用HashMaps,但将a和b的索引存储在两个单独的整数数组中会更有意义。

基于您确切想要实现更好解决方案的可能性。请更新问题以提供有关此问题的更多信息。

答案 1 :(得分:0)

您可以使用以下简单代码并对其进行改进以得到您的确切需求(在这种情况下,请单独获取“ a”):

public class Demo {
           public static void main(String []args) {
              String str = "aaabbbaaa";
              String a ="a";
              int counta = 0;

          System.out.println("String: "+str);
          for (int i = 0; i < str.length(); i++) {
             if (str.charAt(i) == a.charAt(0)){
                 counta++;  }  }

              {for(int counter=0; counter < counta; counter++) 
                    System.out.print(a); } }  }