黑马程序员技术交流社区
标题:
彩鸟上路 多指教
[打印本页]
作者:
荆轲
时间:
2018-4-16 20:31
标题:
彩鸟上路 多指教
集合ArrayList 生成格式
ArrayList<引用类型 E> arrList名称=new ArrayList<引用类型 E>(); E指引用类型
arrList.add() 可以直接加入内容; index指索引
arrList.add(index,内容) 在索引处添加内容,原先内容想后以移动一位;
public E get(int index) 获取刚处的元素
public int size() 获取集合的长度
public boolean remove(Object o) 移除集合中该元素且返回该元素
public E set(index,E) 修改索引处的元素 且返回该元素
public E remove(index) 删除该元素 且返回他
集合ArrayList 是一个可以改变长度的容量;可以对多个对象进行存储
遍历集合
可以先定义一个集合 arr 用于存放 对象之类的 引用类型
for(int i=0; i<arr.size();i++){//利用for循环来实现
Student s=arr.get(i);//定义一个 对象 s来接受 集合中的每一个元素
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());s.get()就是获取元素中的 成员变量
}
往集合里面添加元素
Student s=new Student();//定义一个 学生对象 s来接受 集合中的每一个元素
//获取 对象的各种数据
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//把对象添加到集合中
arr.add(s);
下面是我自己根据学生系统做的一个 侠客记录系统 ps(代码是一样的.改了下名称)
public class StudentManagerTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
ArrayList<Student> s=new ArrayList<Student>();//生成一个集合用于存放侠客
while(true){
System.out.println("---------欢迎来到侠客登录系统---------");
System.out.println("1 查看已记录的侠客");
System.out.println("2 输入新侠客");
System.out.println("3 淘汰菜的侠客");
System.out.println("4 修改侠客");
System.out.println("5 退出登录系统");
System.out.println("请选择选项");
String Strnum=sc.nextLine();//
switch (Strnum){
case "1"://查看侠客的人员
findArrayList(s);
break;
case "2"://输入你认为合适的侠客
addArrayList(s);
break;
case "3"://淘汰侠客
deleteArrayList(s);
break;
case "4"://修改侠客人员信息
gaiArrayList(s);
break;
case "5":System.out.println("退出系统");
default :
System.exit(0);
System.out.println("输入的选项不存在,请输入正确的选项!");
}
}
}
public static void findArrayList(ArrayList<Student> arr){
if(arr.size()==0){
System.out.println("----暂时并无侠客的存在");
}else{
System.out.println("编号 "+"\t"+"姓名 --年龄---地址");
for(int i=0; i<arr.size();i++){
Student s=arr.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
}
}
}
public static void addArrayList(ArrayList<Student> arr){
Scanner sc=new Scanner(System.in);
System.out.println("请输入侠客编号");
String id=sc.nextLine();
for (int i = 0; i <arr.size(); i++) {
Student s=arr.get(i);
if(s.getId().equals(id)){
System.out.println("你输入的侠客编号已经存在 请重新输入一个新的");
return;
}
}
System.out.println("请输入侠客名称");
String name=sc.nextLine();
System.out.println("请输入侠客年龄");
String age=sc.nextLine();
System.out.println("请输入侠客所在地");
String address=sc.nextLine();
Student s=new Student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAddress(address);
arr.add(s);
System.out.println("添加成功");
}
public static void deleteArrayList(ArrayList<Student> arr){
Scanner sc=new Scanner(System.in);
System.out.println("请输入侠客编号");
String id=sc.nextLine();
for (int i = 0; i < arr.size(); i++) {
Student s=arr.get(i);
if(s.getId().equals(id)){
arr.remove(i);
System.out.println("删除成功");
}else{
System.out.println("并无该编号的侠客存在");
}
}
}
public static void gaiArrayList(ArrayList<Student> arr){
Scanner sc=new Scanner(System.in);
System.out.println("输入侠客的编号");
String id=sc.nextLine();
for (int i = 0; i < arr.size(); i++) {
Student s=arr.get(i);
if(s.getId().equals(id)){
System.out.println("请输入侠客名称");
String name=sc.nextLine();
System.out.println("请输入侠客年龄");
String age=sc.nextLine();
System.out.println("请输入侠客所在地");
String address=sc.nextLine();
Student s2=new Student();
s2.setId(id);
s2.setName(name);
s2.setAge(age);
s2.setAddress(address);
arr.set(i, s2);
System.out.println("修改成功");
return;
}
System.out.println("并无该编号的侠客存在1");
}
}
}
这就是我给大家分享。 菜鸟上路 可以指点指点哈。
作者:
cj1234
时间:
2018-4-18 12:04
你的技术贴写得我看了很舒服
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2