1.List排序联系
package com.sj.homework;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @desc 对list集合中数据进行排序
* @author ws
* @time 9.6
*/
public class Test {
public static void main(String[] args) {
List list = new ArrayList();//初始化list
//存入数据
list.add(44);
list.add(22);
list.add(33);
//存入数组
Object[] arr=list.toArray();
//对数组进行从小到大的排序
Arrays.sort(arr);
//输出数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
2.请自己设计一个班级学生通讯录,请编程实现
package com.sj.homework;
public class Users {
public String name;//姓名
public String age;//年龄
public String sex;//性别
public String tel;//手机号
public Users(String name, String age, String sex, String tel) {
this.name = name;
this.age = age;
this.sex = sex;
this.tel = tel;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
}
package com.sj.homework;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
List<Users> list = new ArrayList<Users>();//list初始化
//添加对象
list.add(0,new Users("姓名", "年龄", "性别", "手机号"));
list.add(1,new Users("张三", "18", "男", "13363036570"));
list.add(2,new Users("李四", "19", "男", "13316513260"));
list.add(3,new Users("王五", "20", "男", "13231315680"));
//查询
System.out.println("输入1根据名字查找联系人");
System.out.println("输入2修改联系人");
System.out.println("输入3添加联系人");
System.out.println("输入4删除联系人");
Scanner cin = new Scanner(System.in);//输入
int num = cin.nextInt();
if (num==1) {
System.out.println("请输入姓名:");
String name = cin.next();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getName().equals(name)) {//equals判断字符串内容是否相同,==用来比较两个对象是否引用了同一个实例
Users user = list.get(i);//输出姓名为name的所有信息
System.out.println(list.get(0).getName()+"\t"+list.get(0).getAge()+"\t"+list.get(0).getSex()+"\t"+list.get(0).getTel());
System.out.println(user.getName()+"\t"+user.getAge()+"\t"+user.getSex()+"\t"+user.getTel());
} else{
System.out.println("对不起!没有该联系人!");
}
}
}
if (num==2) {
System.out.print("请输入要修改的姓名:");
String name = cin.next();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getName().equals(name)) {//equals判断字符串内容是否相同,==用来比较两个对象是否引用了同一个实例
System.out.print("姓名:");
String name1 = cin.nextLine();
System.out.print("年龄:");
String age1 = cin.nextLine();
System.out.print("性别:");
String sex1 = cin.nextLine();
System.out.print("电话:");
String tel1 = cin.nextLine();
list.get(i).setName(name1);
list.get(i).setAge(age1);
list.get(i).setSex(sex1);
list.get(i).setTel(tel1);
System.out.println("修改成功!");
}
}
}
if (num==3) {
System.out.print("姓名:");
String name1 = cin.nextLine();
System.out.print("年龄:");
String age1 = cin.nextLine();
System.out.print("性别:");
String sex1 = cin.nextLine();
System.out.print("电话:");
String tel1 = cin.nextLine();
Users newUsers = new Users(name1, age1, sex1, tel1);
list.add(newUsers);
System.out.println("添加成功!");
}
if (num==4) {
System.out.println("是否继续?一旦删除无法找回,输入y/n");
String yn = cin.next();
if (yn.equals("y")) {
list.clear();
System.out.println("删除成功!");
} else if (yn.equals("n")){
System.out.println("删除失败!");
}
}
}
}
3.编写程序,随机生成5个1-10之间的随机数,存入一个List集合中,编写方法对List集合进行排序
package com.sj.homework;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
//2.编写程序,随机生成5个1-10之间的随机数,存入一个List集合中,编写方法对List集合进行排序
public class SuiJiShu {
public static void main(String[] args) {
run();
}
public static void run() {
List list = new ArrayList();
int [] arr = new int[5];//判断重复用的数组
for (int i = 0; i < 5; i++) {//5次循环
int num = (int)(Math.random()*10);//生成0~10整形随机数
arr[i]=num;//存入数组
if (i>0) {//当i>0时进行判断,以下进行不重复随机数的生成
for (int j = i-1; j >= 0; j--) {//j是i以前的索引
if (num==arr[j]) {//如果出现重复
// System.out.println("出现了重复的随机数:"+num);//方便查看
num = (int)(Math.random()*10);//再次生成整形随机数
j = i-1;//j索引初始化,再次循环
}
}
}
// System.out.print(num+"\t");//输出随机数的值
list.add(num);//存入list
}
paiXu(list);//排序和输出
}
public static void paiXu(List list) {//排序和输出
Collections.sort(list);//对list从小到大排序
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"\t");//输出每一项
}
}
}