本习题主要用于练习如何使用ArrayList来替换数组。
新建1个ArrayList<String> strList
用来存放字符串,然后进行如下操作。
提示: 查询Jdk文档中的ArrayList。
注意: 请使用System.out.println(strList)
输出列表元素。
输入格式
- 输入 n个字符串,放入
strList
。直到输入为!!end!!
时,结束输入。 - 在
strList
头部新增一个begin
,尾部新增一个end
。 - 输出列表元素
- 输入: 字符串
str
- 判断
strList
中有无包含字符串str
,如包含输出true
,否则输出false
。并且输出下标,没包含返回-1。 - 在strList中从后往前找。返回其下标,找不到返回-1。
- 移除掉第1个(下标为0)元素,并输出。然后输出列表元素。
- 输入: 字符串str
- 将第2个(下标为1)元素设置为字符串str.
- 输出列表元素
- 输入: 字符串str
- 遍历strList,将字符串中包含str的元素放入另外一个
ArrayList strList1
,然后输出strList1。 - 在strList中使用
remove
方法,移除第一个和str相等的元素。 - 输出strList列表元素。
- 使用
clear
方法,清空strList。然后输出strList的内容,size()
与isEmpty()
,3者之间用,
连接。
输入样例:
a1 b1 3b a2 b2 12b c d !!end!!
b1
second
b
输出样例:
[begin, a1, b1, 3b, a2, b2, 12b, c, d, end]
true
2
2
begin
[a1, b1, 3b, a2, b2, 12b, c, d, end]
[a1, second, 3b, a2, b2, 12b, c, d, end]
[3b, b2, 12b]
[a1, second, 3b, a2, b2, 12b, c, d, end]
[],0,true
答案
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<String> strList = new ArrayList<>();
while (true){
String str = scanner.next();
if(str.equals("!!end!!")){
break;
}
strList.add(str);
}
strList.add(0,"begin");
strList.add("end");
System.out.println(strList);
String str = scanner.next();
if (strList.contains(str)){
System.out.println("true");
}else{
System.out.println("false");
}
System.out.println(strList.indexOf(str));
boolean flag = true;
for (int i = strList.size() - 1; i >= 0; i--) {
if (strList.get(i).equals(str)){
System.out.println(i);
flag = false;
break;
}
}
if (flag){
System.out.println("-1");
}
System.out.println(strList.get(0));
strList.remove(0);
System.out.println(strList);
str = scanner.next();
strList.set(1,str);
System.out.println(strList);
str = scanner.next();
ArrayList<String> strList1 = new ArrayList<>();
for (String s : strList){
if (s.contains(str)){
strList1.add(s);
}
}
System.out.println(strList1);
for (String s : strList){
if (s.equals(str)){
strList.remove(str);
break;
}
}
System.out.println(strList);
strList.clear();
System.out.println(strList + "," + strList.size() + "," + strList.isEmpty());
}
}