相关疑难解决方法(0)

Java:将List <String>转换为String

JavaScript有 Array.join()

js>["Bill","Bob","Steve"].join(" and ")
Bill and Bob and Steve
Run Code Online (Sandbox Code Playgroud)

Java有这样的东西吗?我知道我可以用StringBuilder自己解决一些问题:

static public String join(List<String> list, String conjunction)
{
   StringBuilder sb = new StringBuilder();
   boolean first = true;
   for (String item : list)
   {
      if (first)
         first = false;
      else
         sb.append(conjunction);
      sb.append(item);
   }
   return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)

...但是,如果像这样的东西已经是JDK的一部分,那就没有意义了.

java list

561
推荐指数
15
解决办法
43万
查看次数

使用分隔符加入字符串

将字符串列表连接到组合分隔字符串的最佳方法是什么.我主要关注何时停止添加分隔符.我将使用C#作为我的示例,但我希望这与语言无关.

编辑:我没有使用StringBuilder使代码稍微简单.

使用For循环

for(int i=0; i < list.Length; i++)
{
    result += list[i];
    if(i != list.Length - 1)
        result += delimiter;
}
Run Code Online (Sandbox Code Playgroud)

使用For循环设置之前的第一个项目

result = list[0];
for(int i = 1; i < list.Length; i++)
    result += delimiter + list[i];
Run Code Online (Sandbox Code Playgroud)

这些对于IEnumerable不起作用,因为你事先不知道列表的长度

使用foreach循环

bool first = true;
foreach(string item in list)
{
    if(!first)
        result += delimiter;
    result += item;
    first = false;
}
Run Code Online (Sandbox Code Playgroud)

foreach循环的变化

来自Jon的解决方案

StringBuilder builder = new StringBuilder();
string delimiter = "";
foreach (string item in list)
{
    builder.Append(delimiter);
    builder.Append(item); …
Run Code Online (Sandbox Code Playgroud)

language-agnostic string algorithm

22
推荐指数
5
解决办法
5万
查看次数

用于连接例如字符串数组的算法

我想知道一段时间,加入一个字符串数组的一个漂亮,干净的解决方案可能看起来像.示例:我有["Alpha","Beta","Gamma"]并希望将字符串连接成一个,用逗号分隔 - "Alpha,Beta,Gamma".

现在我知道大多数编程语言为此提供了某种连接方法.我只是想知道这些是如何实现的.当我参加入门课程时,我经常尝试单独进行,但从未找到过令人满意的算法.一切似乎都很混乱,问题是你不能只是循环遍历数组,连接字符串,因为你会添加一个太多的逗号(在最后一个字符串之前或之后).我不想检查循环中的条件.我真的不想在循环之前/之后添加第一个或最后一个字符串(我猜这可能是最好的方法吗?).

有人能给我一个优雅的解决方案吗?或者告诉我为什么没有更优雅的东西呢?

language-agnostic arrays string algorithm

13
推荐指数
3
解决办法
5860
查看次数

字符串的ArrayList为一个字符串

我有一个字符串的数组列表(数组列表中的每个单独的元素只是一个没有空格的单词),我想取每个元素并将每个下一个单词附加到字符串的末尾.

所以说数组列表有

    element 0 = "hello"
    element 1 = "world,"
    element 2 = "how"
    element 3 = "are"
    element 4 = "you?"
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为句子的字符串,其中包含"hello world,你好吗?"

java string arraylist

12
推荐指数
4
解决办法
4万
查看次数

Sqlite查询一列中的多个值

我想在表中查询字段id,其中一些值如1,5,4,11,它们将根据选择来自前一个屏幕.

cursor = database.query(tablename,
                    new String[] { "TopName" }, "id =?", new String[]{"2,3"}, null, null, null);
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到游标计数0,新的String [] {"2"}我得到的值我想要的所有id的字符串数组中的值像OR那样在该列中有值.

sqlite android

6
推荐指数
3
解决办法
2万
查看次数

将ArrayList <Characters>转换为String

有一种简单的方法可以将只包含字符的ArrayList转换为字符串吗?所以说我们有

ArrayList<Character> arrayListChar = new ArrayList<Character>();
arrayListChar.add(a);
arrayListChar.add(b);
arrayListChar.add(c);
Run Code Online (Sandbox Code Playgroud)

因此数组列表包含a,b和c.理想情况下,我想要做的是将其转换为字符串"abc".

java string arraylist

5
推荐指数
1
解决办法
4373
查看次数