5.添加两个字符串:hello,educoder 至集合中;
6.修改集合的第三个元素,改为:list;
7.打印集合。
相关知识
List 集合
List 集合用于存储有序的、可以重复的元素,因此我们可以通过索引来访问、遍历元素。它主要有 ArrayList 和 LinkedList 两个实现类,本实训将介绍 ArrayList 集合。
ArrayList 集合
ArrayList 是 List 集合的实现类,它的底层数据结构是数组,因此它具有查询快,增删慢的特点。
创建 ArrayList 集合
// 导入相关类
import java.util.ArrayList;
import java.util.List;
public class ExcTest {
public static void main(String[] args) {
// 创建ArrayList集合
List list=new ArrayList<String>();
}
}
可以看到创建 ArrayList 集合时使用的是父类的引用指向子类对象,这种方式可以大大的提高程序的可扩展性。
ArrayList 集合的增删改查
增删改查示例:
public static void main(String[] args) {
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法增加元素
list.add("list");
// 在最新位置添加指定元素
list.add(1,"hello");
// 在指定位置添加元素
list.add(2,"java");
// 在指定位置添加元素
System.out.println(list);
// 使用get()方法获取指定索引处元素,索引值从0开始
String s = list.get(0);
System.out.println(s);
// 使用set()方法修改指定索引位置的元素值
list.set(1,"hi");
System.out.println(list);
// 使用remove()方法删除指定元素
list.remove(0);
// 删除指定索引的元素
list.remove("hi");
// 删除指定元素
System.out.print(list);
}
执行结果:
[list, hello, java]
list
[list, hi, java]
[java]
遍历 ArrayList
遍历集合有三种方式: 1.使用迭代器遍历;
public static void main(String[] args) {
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法添加元素
list.add("list");
list.add(1,"hello");
list.add(2,"java");
list.add("java");
// 通过迭代器遍历集合
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
2.使用 for each 遍历;
public static void main(String[] args) {
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法添加元素
list.add("list");
list.add(1,"hello");
list.add(2,"java");
list.add("java");
// 通过foreach遍历集合
for(String s:list){
System.out.println(s);
}
}
3.使用 size() 方法获取集合长度,配合 for 循环遍历集合。
public static void main(String[] args) {
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法添加元素
list.add("list");
list.add(1,"hello");
list.add(2,"java");
list.add("java");
// 通过 size() 方法遍历集合
for(int x=0;x<list.size();x++){
System.out.println(list.get(x));
}
}
以上三种方式执行结果:
list
hello
java
java
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,创建 ArrayList 集合并使用它的增删改查方法,具体要求如下:
-
接收给定的一行字符串(如:32 rfsd fwq g3r3qt t3q4t。);
-
通过空格(一个)切割字符串;
-
创建一个 ArrayList 集合;
-
将切割后的字符串元素添加至集合中;
-
删除集合的第一个和最后一个元素;
-
添加两个字符串:hello,educoder 至集合中;
-
修改集合的第三个元素,改为:list;
-
打印集合。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
32 rfsd fwq g3r3qt t3q4t qt ta
预期输出:
[rfsd, fwq, list, t3q4t, qt, hello, educoder]
参考代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CollTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:接收给定的一行字符串
Scanner scan=new Scanner(System.in);
String strings=scan.nextLine();
// 第二步:切割字符串
String []str=strings.split(" ");
// 第三步:创建集合
List<String> list=new ArrayList<String>();
// 第四步:往集合中添加元素
for(String s:str) {
list.add(s);
}
// 第五步:删除第一个元素和最后一个元素
int index=list.size()-1;
list.remove(index);
if(!list.isEmpty()) {
list.remove(0);
}
// 第六步:往集合中添加hello和educoder
list.add("hello");
list.add("educoder");
// 第七步:修改集合中第三个元素为list
if(list.size()>=3) {
list.set(2, "list");
}
// 第八步:打印集合
System.out.println(list);
scan.close();
/********** End **********/
}
}
学习-Java集合类之List的LinkedList之特有方法的使用
任务描述
本关任务:替换 LinkedList 集合中的首尾元素。
相关知识
List 集合主要有 ArrayList 和 LinkedList 两个实现类,本实训将介绍 LinkedList 集合。
什么是 LinkedList集合
LinkedList 是 List 集合的实现类,它的底层数据结构是链表,因此它具有查询慢,增删快的特点。
创建 LinkedList 集合
使用以下代码即可创建 LinkedList 集合。
import java.util.LinkedList;
public class tt {
public static void main(String[] args) {
// 创建存储字符串的LinkedList集合
LinkedList<String> strings = new LinkedList<>();
}
}
LinkedList 集合的方法
LinkedList 集合的增删改查方法和 ArrayList 集合是一样的,以下是它特有的方法:
| 方法名 | 说明 |
| — | — |
| addFirst(Object obj) | 在集合第一位添加一个元素 |
| addLast(Object obj) | 在集合最后一位添加一个元素 |
| getFirst() | 得到集合第一位的元素 |
| getLast() | 得到集合的最后一位元素 |
| removeFirst() | 删除集合的第一个元素 |
| removeLast() | 删除集合的最后一个元素 |
特有方法使用示例:
public static void main(String[] args) {
// 创建存储字符串的集合
LinkedList<String> list = new LinkedList<>();
// 添加元素
list.add("gt");
list.add("hello");
System.out.println(list);
// 在集合第一位添加一个元素
list.addFirst("first");
System.out.println(list);
// 得到集合的第一个元素
String first = list.getFirst();
System.out.println(first);
// 删除集合的最后一个元素
list.removeLast();
System.out.println(list);
}
执行结果:
[gt, hello][first, gt, hello]first[first, gt]
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,具体要求如下:
-
接收给定的一行字符串(如:hello,hi,ask);
-
根据英文逗号切割字符串,把切割后的元素添加进 LinkedList 集合;
-
使用 LinkedList 的特殊方法将首尾元素都替换为 aa;
-
输出替换后的字符串。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
hello,hi,ask
预期输出:
[aa,hi,aa]
参考代码
import java.util.LinkedList;
import java.util.Scanner;
public class CollTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:接收给定的一行字符串
Scanner scanner =new Scanner(System.in);
String string=scanner.nextLine();
// 第二步:切割字符串
String []str=string.split(",");
// 第三步:创建集合
LinkedList<String> list=new LinkedList<String>();
// 第四步:将切割后的元素添加进集合
for(String s:str) {
list.add(s);
}
// 第五步:替换首尾元素
String s2="aa";
list.removeFirst();
list.addFirst(s2);
list.removeLast();
list.addLast(s2);
// 第六步:打印集合
System.out.println(list);
scanner.close();
/********** End **********/
}
}
学习-Java集合类之Map的HashMap之常用方法的使用
任务描述
本关任务:使用 HashMap 集合操作菜单。
相关知识
什么是 HashMap
HashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。
创建 HashMap 集合
使用以下代码即可创建一个 HashMap 集合。
public static void main(String[] args) {
// 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型
Map<String, Integer> hashMap = new HashMap<>();
}
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
学习-Java集合类之Map的HashMap之常用方法的使用
任务描述
本关任务:使用 HashMap 集合操作菜单。
相关知识
什么是 HashMap
HashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。
创建 HashMap 集合
使用以下代码即可创建一个 HashMap 集合。
public static void main(String[] args) {
// 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型
Map<String, Integer> hashMap = new HashMap<>();
}
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
[外链图片转存中…(img-tM82LPFu-1714676084520)]
上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
[外链图片转存中…(img-l5qh6yjn-1714676084520)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。