JAVA里的list集合,比如第一行输入 张三 18 3000 第二行 李四 19
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA里的list集合,比如第一行输入 张三 18 3000 第二行 李四 19相关的知识,希望对你有一定的参考价值。
JAVA里的list集合,比如第一行输入
张三 18 3000
第二行
李四 19 3200
第三行
王五 20 3500
现在要添加一个人 张六 25 3600,要求写在李四的上面,该怎么写,求解答
虽然已经有人回答了 但是最近在学习面向对象 按照你要求完整的给你也做了一下。
如图。
代码如下:
public static void main(String[] args)
/*
* JAVA里的list集合,比如第一行输入
张三 18 3000
第二行
李四 19 3200
第三行
王五 20 3500
现在要添加一个人 张六 25 3600,要求写在李四的上面
* */
//定义集合
ArrayList<fSum> array = new ArrayList<>();
int i1 = 0;
while (i1 < 3)
Scanner sc = new Scanner(System.in);
System.out.println("请输入名称:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入工资");
int salary = sc.nextInt();
//创建对象
fSum f = new fSum();
//导入数据
f.setName(name);
f.setAge(age);
f.setSalary(salary);
//将数据导入到集合
array.add(f);
i1++;
for (int i = 0; i < array.size(); i++)
fSum f1 = array.get(i);
System.out.println("姓名:" + f1.getName() + "年龄:" + f1.getAge() + "工资:" + f1.getSalary());
System.out.println("集合长度:" + array.size());
//修改指定索引的内容
fSum ff = new fSum();
Scanner sc = new Scanner(System.in);
System.out.println("请输入名称:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入工资");
int salary = sc.nextInt();
ff.setName(name);
ff.setAge(age);
ff.setSalary(salary);
array.add(1, ff);
//输出结果
for (int ia = 0; ia < array.size(); ia++)
fSum f2 = array.get(ia);
System.out.println("姓名:" + f2.getName() + "年龄:" + f2.getAge() + "工资:" + f2.getSalary());
System.out.println("集合长度:" + array.size());
import java.util.List;
import java.util.Scanner;
/**
*
* @author young
*
*/
public class Test
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
List<String> list = new ArrayList<String>();
System.out.println("第一行:");
list.add(sc.nextLine());
System.out.println("第二行:");
list.add(sc.nextLine());
System.out.println("第三行:");
list.add(sc.nextLine());
System.out.println("第四行:");
list.add(1, sc.nextLine());
System.out.println("输出结果:");
for(String s : list)
System.out.println(s);
追问
亲,不是这样的
参考技术B List<String> list = new ArrayList<>();//假设李四那一行是第2行(从0开始计)
// List接口有个方法:void java.util.List.add(int index, String element),参数index为要插入新数据的位置
list.add(2,"张六 ...");追问
恩,谢谢
本回答被提问者采纳java List接口
Collection子接口;
List是有序的集合,集合中每个元素都有对应的顺序序列。List集合可使用重复元素,可以通过索引来访问指定位置的集合元素(顺序索引从0开始),List集合默认按元素的添加顺序设置元素的索引,比如第一个元素的索引就是0,好似数组。
List作为Collection子接口当然拥有其所有方法,同时也有自己的方法:
void add(int index,Object e):将元素e添加到List集合中的index处;
boolean addAll(int index,Collection c):将集合c所包含的所有元素都插入在List集合的index处;
Object get(int index):返回集合index索引处的元素;
int indexOf(Object o):返回对象o在List集合中第一次出现位置的索引;
int lastIndexOf(object o):返回对象o在List集合中最后一次出现的位置索引;
Object remove(int index):删除并返回index索引处的元素;
Object set(int index,Object e):把集合index处的元素替换为e对象,返回以前在指定位置的元素;
List subList(int fromIndex,int toIndex):返回从所有fromIndex(包括)到toIndex(不包括)处所有集合元素的子集合。
ListIterator
Iterator的子接口,专门用于操作List集合的输出;
List自己还有一个listIterator()方法,该方法返回ListIterator对象,ListIterator继承了Iterator接口,提供了专门操作List的方法。在Iterator上额外增加的方法:
支持双向输出:
boolean hasPrevious():返回该迭代器关联集合是否还有上一个元素;
Object previous():返回该迭代器的上一个元素;
我的总结:这是相对更加特殊的一个接口,只用于List集合,可以完成逆序输出!
Eg:
package july7;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Demo16
public static void main(String[] args)
List<Integer> l = new ArrayList<Integer>();
l.add(12);
l.add(24);
l.add(36);
l.add(23);
l.add(37);
System.out.println(l);
ListIterator<Integer> it = l.listIterator();
while(it.hasNext())
System.out.println("正序:"+it.next());
System.out.println("==================================");
//使用向前迭代前必须将游标(指针)移动到后边!
while(it.hasPrevious())
System.out.println("逆序:"+it.previous());
输出:
[12, 24, 36, 23, 37]
正序:12
正序:24
正序:36
正序:23
正序:37
==================================
逆序:37
逆序:23
逆序:36
逆序:24
逆序:12
以上是关于JAVA里的list集合,比如第一行输入 张三 18 3000 第二行 李四 19的主要内容,如果未能解决你的问题,请参考以下文章
Java中能取出List里的相同数据;比如 1,2,3,4,5,6,11,22,33,44,55,6,12,13,14,15,16,6 ;