arraylist<string>..tostring()后如何再转为arraylist
时间: 2023-08-22 17:08:38 浏览: 129
要将一个字符串转换回 ArrayList,可以使用字符串中的元素分隔符将其分割为单个元素,然后将这些元素添加到一个新的 ArrayList 中。以下是一个示例代码:
```java
String str = "element1;element2;element3";
String[] strArray = str.split(";");
ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray));
```
在这个示例中,我们首先将字符串 `str` 使用分号 `;` 进行分割,得到一个字符串数组 `strArray`,然后将该数组转换为 ArrayList。这个过程使用了 `Arrays.asList()` 方法将数组转换为 List,然后通过 ArrayList 构造函数将其转换为 ArrayList。
相关问题
注释下面每一行代码:public class Shift { private ArrayList<String> kwicList = new ArrayList<String>(); private ArrayList<String> lineTxt; public Shift( ArrayList<String> lineTxt) { this.lineTxt = lineTxt; } public ArrayList<String> getKwicList() { return kwicList; } public ArrayList<String> getLineTxt() { return lineTxt; } public void shift() { //获取每个单词,存入tokens Iterator<String> it = lineTxt.iterator(); while (it.hasNext()) { StringTokenizer token = new StringTokenizer(it.next()); ArrayList<String> tokens = new ArrayList<String>(); int i = 0; //循环添加单词 int count = token.countTokens(); while (i < count) { tokens.add(token.nextToken()); i++; } //display(tokens); //切割各个单词,不断改变起始值和利用loop实现位移。 for (i = 0; i < count; i++) { StringBuffer lineBuffer = new StringBuffer(); int index = i; for (int f = 0; f < count; f++) { //从头继续位移 if (index >= count) index = 0; //存入StringBuffer lineBuffer.append(tokens.get(index)); lineBuffer.append(" "); index++; } String tmp = lineBuffer.toString(); kwicList.add(tmp); } } } }
这段代码定义了一个名为 Shift 的类,其中包含了三个字段和三个方法:
- 字段 kwicList:类型为 ArrayList<String>,存储了所有的关键词索引环(Key Word in Context List)。
- 字段 lineTxt:类型为 ArrayList<String>,存储了所有待处理的文本行。
- 构造方法 Shift():接受一个类型为 ArrayList<String> 的 lineTxt 参数,并将其赋值给 lineTxt 字段。
- 方法 getKwicList():返回 kwicList 字段。
- 方法 getLineTxt():返回 lineTxt 字段。
- 方法 shift():实现关键词索引环的生成过程。
具体来说,shift() 方法中首先通过 Iterator 遍历 lineTxt 中的每一行文本(每一行都是由多个单词组成的字符串),并将这些单词分割出来,存入 tokens 的 ArrayList 中。
然后,对于每个 tokens,利用双重 for 循环遍历每一个单词,不断改变起始值和利用 loop 实现位移。在位移过程中,使用 StringBuffer 存储每个位移后的单词序列,最终将其存入 kwicList 中。这样,kwicList 中就存储了所有的关键词索引环。
如何实现ArrayList<String>与ArrayList<Int>之间转换
在Java中,ArrayList是一种动态数组,它的元素类型是泛型化的,因此可以直接存储String类型的元素和Integer类型的元素。如果你想在ArrayList<String>和ArrayList<Integer>之间进行转换,通常会有以下几个步骤:
1. **从String ArrayList到Integer ArrayList**:
- 如果你想将String列表转换成Integer列表,你需要遍历String列表,对于每个字符串,可以使用`Integer.parseInt()`将其转换为整数并添加到Integer列表中。例如:
```java
ArrayList<String> strList = ...;
ArrayList<Integer> intList = new ArrayList<>();
for (String str : strList) {
int num = Integer.parseInt(str);
intList.add(num);
}
```
2. **从Integer ArrayList到String ArrayList**:
- 反向过程则是将Integer列表中的元素转换回String。可以简单地使用元素的toString()方法,如:
```java
ArrayList<Integer> intList = ...;
ArrayList<String> strList = new ArrayList<>();
for (Integer num : intList) {
strList.add(num.toString());
}
```
需要注意的是,如果原始集合中有无法转换为Integer的String,上述代码会抛出NumberFormatException异常。所以在实际操作中,最好先检查是否能成功转换。
阅读全文