习题-集合框架

news2024/11/26 6:25:00

目录

1.打印信息

2.ArrayList的使用

User类

测试类

3.Set的使用

汽车类

测试类

4.ArrayList使用

5.新闻

新闻类

测试类

6.返回索引

7.删除重复QQ

8.Map集合操作

9.成绩排序

学生类

测试类

10.Map基础题

学员类

测试类

11.遍历Map综合-国家名称

12.Collections的常用方法


1.打印信息

package dh01.test;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

//测试练习
public class test {

	public static void main(String[] args) {
		Set sets = new HashSet();		
//		String s1 = "张三";
//		String s2 = s1;
//		String s3 = "王五";
	//----------------------------
		String s1 = new String("张三");
		String s2 = new String("张三");
		String s3 = "王五";
		sets.add(s1);
		sets.add(s2);
		sets.add(s3);

		
		/*
		 * 增强for循环
		 */
		for(Object obj : sets) {
			System.out.println(obj);
		}
		
		System.out.println("***************");
		
		/*
		 *使用迭代器  应用场景:当集合内容很大时(效率高)
		 */
		//创建迭代器
		
		Iterator it = sets.iterator();		
		while (it.hasNext()) {
			//判断下一个是否有值
			System.out.println(it.next());
			
		}
		
		
//		for (int i = 0; i < sets.size(); i++) {
//			System.out.println(it.next());
//		}
	

		
	}

}

*************************分割*************************

2.ArrayList的使用

使用ArrayList。创建用户类,包含用户ID,用户名,用户密码,性别,账户余额字段。
 (1)初始化3个用户对象
 (2)循环输出三个用户信息
 (3)根据用户选择编号,修改对应的用户名,修改后提示修改成功并循环打印
 (4)添加用户,提示用户输入用户ID,用户名,密码,性别,并添加集合
 (5)找出账户为负数的用户,并循环显示

User类

package dh01.test01;
//用户类
public class User {
	// 使用ArrayList。创建用户类,包含用户ID,用户名,用户密码,性别,账户余额字段。
	private int ID;// 用户ID
	private String userName;// 用户名
	private int pwd;// 用户密码
	private String sex;// 性别
	private int account;// 余额

	//构造方法
	public User() {
	}
	
	public User(int iD, String userName, int pwd, String sex, int account) {
		this.ID = iD;
		this.userName = userName;
		this.pwd = pwd;
		this.sex = sex;
		this.account = account;
	}

	//set&get-------------------------------------------------
	public int getID() {
		return ID;
	}
	public void setID(int iD) {
		ID = iD;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getPwd() {
		return pwd;
	}
	public void setPwd(int pwd) {
		this.pwd = pwd;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAccount() {
		return account;
	}
	public void setAccount(int account) {
		this.account = account;
	}

}

测试类

package dh01.test01;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

//测试类
public class Test {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		ArrayList<User> list = new ArrayList<User>();

		// 初始化3个用户对象
		list.add(new User(1, "张三", 1001, "男", 1000));
		list.add(new User(2, "李四", 1002, "女", 2000));
		list.add(new User(3, "王五", 1003, "男", 3000));

		// 循环输出三个用户信息
		for (int i = 0; i < list.size(); i++) {
			User user = list.get(i);
			System.out.println(user.getID() + "\t" + user.getUserName() + "\t" + user.getPwd() + "\t" + user.getSex() + "\t"
					+ user.getAccount());

		}

		// 根据用户选择编号,修改对应的用户名,修改后提示修改成功并循环打印
		System.out.print("请选择要修改的编号:");
		int num = sc.nextInt();
		for (User user : list) {
			if (num == user.getID()) {
				System.out.println("可进行修改");
				System.out.print("请输入要修改的用户名:");
				String name = sc.next();
				user.setUserName(name);
				System.out.println("修改成功");
			} 
		}

		// 循环打印信息

		for (int i = 0; i < list.size(); i++) {
			User user = list.get(i);
			System.out.println(user.getID() + "\t" + user.getUserName() + "\t" + user.getPwd() + "\t" + user.getSex() + "\t"
					+ user.getAccount());
		}
		// (4)添加用户,提示用户输入用户ID,用户名,密码,性别,并添加集合
		User user = new User();
		System.out.println("根据提示,添加新用户");
		System.out.print("请输入用户ID:");
		int newId = sc.nextInt();
		user.setID(newId);
		System.out.print("请输入用户名:");
		String newName = sc.next();
		user.setUserName(newName);
		System.out.print("请输入密码:");
		int newPwd = sc.nextInt();
		user.setPwd(newPwd);
		System.out.print("请输入性别:");
		String newSex = sc.next();
		user.setSex(newSex);
		System.out.print("请输入账户余额:");
		int newAccount = sc.nextInt();
		user.setAccount(newAccount);
		// 添加进集合
		list.add(new User(newId, newName, newPwd, newSex, newAccount));

		System.out.println("***********添加后的集合信息***********");
		for (int i = 0; i < list.size(); i++) {
			user = (User) list.get(i);
			System.out.println(user.getID() + "\t" + user.getUserName() + "\t" + user.getPwd() + "\t" + user.getSex() + "\t"
					+ user.getAccount());
		}
		// (5)找出账户为负数的用户,并循环显示
		for (User user2 : list) {
			if (user2.getAccount()<0) {
				System.out.println(user2.getUserName()+"账户为:"+user2.getAccount());
			}
		}
		
		
	}

}

 *************************分割*************************

3.Set的使用

使用set。创建汽车类,包含品牌,型号,车牌号,价格四个字段。
  (1)初始化三辆汽车
  (2)使用迭代器循环打印汽车信息。
  (3)使用增强for循环打印汽车信息。

汽车类

package dh01.test02;
//汽车类
public class Car {
	private String brand;//品牌
	private String type;//型号
	private String carID;//车牌号
	private int money;//价格
	//构造方法
	public Car() {

	}

	public Car(String brand, String type, String carID, int money) {
		this.brand = brand;
		this.type = type;
		this.carID = carID;
		this.money = money;
	}
	//重写
	@Override
	public String toString() {
		return "Car [brand=" + brand + ", type=" + type + ", carID=" + carID + ", money=" + money + "]";
	}

	
	//set&get------------------------------

	public String getBrand() {
		return brand;
	}


	public void setBrand(String brand) {
		this.brand = brand;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getCarID() {
		return carID;
	}

	public void setCarID(String carID) {
		this.carID = carID;
	}

	public int getMoney() {
		return money;
	}

	public void setMoney(int money) {
		this.money = money;
	}
	
	
	
}

测试类

package dh01.test02;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

//测试类
public class Test {

	public static void main(String[] args) {
		Set<Car> sets = new HashSet<Car>();
		// (1)初始化三辆汽车
		sets.add(new Car("aaa", "000", "浙B00000", 10000));
		sets.add(new Car("bbb", "111", "浙B11111", 11111));
		sets.add(new Car("ccc", "222", "浙B22222", 22222));

		// (2)使用迭代器循环打印汽车信息。
		Iterator<Car> iter = sets.iterator();
		while (iter.hasNext()) {
			// 判断下一个是否有值
			Car car = (Car) iter.next();
			System.out.println(car.getBrand() + " " + car.getType() + " " + car.getCarID() + " " + car.getMoney() + " ");
		}

		System.out.println("*****************************");
		// (3)使用增强for循环打印汽车信息。
		for (Car car : sets) {
			System.out.println(car);
		}

	}

}

 *************************分割*************************

4.ArrayList使用

package dh01;

import java.awt.List;
import java.util.ArrayList;
import java.util.Arrays;

public class Test {

	public static void main(String[] args) {
		//ArrayList
		ArrayList list = new ArrayList();
		list.add("a");//向后新增值
		list.add("b");
		list.add(1, "c");//指定位置插入
		list.add(1, "d");
		list.add("e");
		list.add("f");
		System.out.println(Arrays.toString(list.toArray()));
		System.out.println("获得集合长度===="+list.size());
		System.out.println("根据下标获得值===="+list.get(3));
		boolean bool =  list.contains("a");  
		System.out.println("判断列表中是否存在指定元素===="+bool);
		System.out.println("根据内容删除元素===="+list.remove("a"));
		System.out.println(Arrays.toString(list.toArray()));
		System.out.println("根据下标删除元素===="+list.remove(1));
		System.out.println(Arrays.toString(list.toArray()));


	}

}

 

 *************************分割*************************

5.新闻

新闻类

package dh01;

/**
 * 
 * 新闻类
 * 
 */
public class News {
	private String id;
	private String title;
	private String adduser;
	
	//构造方法
	public News() {
	}
	public News(String id, String title, String adduser) {
		this.id = id;
		this.title = title;
		this.adduser = adduser;
	}
	//--------------------------
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getAdduser() {
		return adduser;
	}
	public void setAdduser(String adduser) {
		this.adduser = adduser;
	}
	
	
	
	
}

测试类

package dh01;

import java.util.ArrayList;

//测试类
public class TestNews {

	public static void main(String[] args) {
		
		ArrayList<News> listnews = new ArrayList<News>();
		listnews.add(new News("1","xxxx","zhangsan"));
		listnews.add(new News("2","yyyy","lisi"));
		listnews.add(new News("3","zzzz","wangwu"));
		
		
		int size = listnews.size();//获得总记录数
		System.out.println("总数:"+size);
		listnews.add(new News("4","aaaa","qqqq"));
		System.out.println("总数:"+listnews.size());
		
		/*
		 * 循环遍历集合
		 */
		
		for (int i = 0; i < listnews.size(); i++) {
			News news = listnews.get(i);
			System.out.println(news.getTitle());
			
		}
	
	}

}

 

 *************************分割*************************

6.返回索引

定义一个方法listTest(ArrayList<Integer> al, Integer s),要求返回s在al里面第一次出现的索引,

al.add(1);
al.add(10);
 al.add(8);
 int s = 8;
  return al.indexOf(s);
   for(int i=0;i<al.size();i++)
   {
       if(s==al.get(i))
       {
         return i;
       }
   }
   return -1;

如果s没出现过返回-1,有返回下标

package dh02.test01;

import java.util.ArrayList;
import java.util.List;


public class Test {

	public static void main(String[] args) {
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(1);
		list.add(10);
		list.add(8);
		System.out.println(listTest(list,6));
	}

	public static int listTest(ArrayList<Integer> al, Integer s) {
		 int flag = -1;
		 int index = 0;
		for (int i : al) {
			if (i == s) {
				return index;
			}
			index++;
		}
		return flag;

	}

}

 *************************分割*************************

7.删除重复QQ

已知数组存放一批QQ号码,QQ号码最长为11位,最短为5位String[] strs = 
{"12345","67891","12347809933","98765432102","67891","12347809933"}。
将该数组里面的所有qq号都存放在LinkedList中,将list中重复元素删除,将list中所有元素分别用迭代器和增强for循环打印出来
 

package dh02.test02;
import java.util.List;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;

/*
2.QQ号码最长为11位,最短为5位String[] strs = {"12345","67891","12347809933","98765432102","67891","12347809933"}。
将该数组里面的所有qq号都存放在LinkedList中,
将list中重复元素删除,将list中所有元素分别用迭代器和增强for循环打印出来

 */
public class Test {
	public static void main(String[] args) {
		// 数组
		String[] strs = { "12345", "67891", "12347809933", "98765432102", "67891", "12347809933" };
		// 集合
		List<String> list = new LinkedList<String>();
		// 将数组中的所有元素添加进集合
		Collections.addAll(list, strs);
		Collections.sort(list);// ----------------------------------
		System.out.println(list.size());// LinkedList长度
		System.out.println(Arrays.toString(list.toArray()));
		System.out.println("*********************************");

		// 迭代器
		Iterator iterator = list.iterator();
		boolean bool = true;
		while (iterator.hasNext() && bool ) {

			for (int i = 1; i <= strs.length; i++) {

				if (i == strs.length) {
					i = i - 1;
					bool = false;
					break;
				}
				
				if (iterator.next().equals(strs[i])) {
					iterator.remove();
				}

			}
			System.out.println(Arrays.toString(list.toArray()));
		}

		System.out.println("************迭代器*********************"); // 迭代器 Iterator
		iterator = list.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		System.out.println("*************增强for********************"); // 增强for
		for (String string : list) {
			System.out.println(string);
		}


	}

}

 

  *************************分割*************************

8.Map集合操作

现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
        map.put(1, "张三丰");
        map.put(2, "周芷若");
        map.put(3, "汪峰");
        map.put(4, "灭绝师太");
要求:
(1)遍历集合,并将序号与对应人名打印。
(2)向该map集合中插入一个编码为5姓名为李晓红的信息
(3).移除该map中的编号为1的信息
(4).将map集合中编号为2的姓名信息修改为"周林"


 

package dh02.test04;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/*

4.现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
        map.put(1, "张三丰");
        map.put(2, "周芷若");
        map.put(3, "汪峰");
        map.put(4, "灭绝师太");
要求:
(1)	遍历集合,并将序号与对应人名打印。
(2)	向该map集合中插入一个编码为5姓名为李晓红的信息
(3)	移除该map中的编号为1的信息
(4)	将map集合中编号为2的姓名信息修改为"周林"
 */
public class Test {

	public static void main(String[] args) {

		Map<Integer, String> map = new HashMap<Integer, String>();
		map.put(1, "张三丰");
		map.put(2, "周芷若");
		map.put(3, "汪峰");
		map.put(4, "灭绝师太");
//-------------------------
		// 遍历集合,并将序号与对应人名打印。
		// foreach--->key
		Set<Integer> keys = map.keySet();// 获取map中所有key
		for (Integer key : keys) {
			String value = map.get(key);
			System.out.println(key + "-" + value);
		}
		System.out.println("*************添加5.李晓红****************");
		// ---------------添加---------------
		map.put(5, "李晓红");
		// 迭代器--->key
		Iterator<Integer> it = keys.iterator();
		while (it.hasNext()) {
			Integer key = it.next();// 获取map中的每一个key
			String value = map.get(key);
			System.out.println(key + "-" + value);
		}
		System.out.println("*****移除编号为1的信息,并将编号为2的信息修改*****");
		// 移除该map中的编号为1的信息
		map.remove(1);
		// 将map集合中编号为2的姓名信息修改为"周林"
		map.put(2, "周林");
		// 获取map中的所有键值对,然后再键值对中分别获取key和value
		Set<Map.Entry<Integer, String>> set = map.entrySet();
		for (Entry<Integer, String> me : set) {
			Integer key = me.getKey();
			String value = me.getValue();
			System.out.println(key + "-" + value);

		}
	

	}
}

 

  *************************分割*************************

9.成绩排序

分别用Comparable和Comparator两个接口对下列四位同学的成绩做降序排序,
如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序

姓名(String)年龄(int)分数(float)

liusan                25              90.0F

lisi                     21              90.0F

wangwu            20              99.0F

sunliu                22             100.0F

学生类

package dh02.test03;

import java.util.Comparator;

//学生
public class Student implements Comparable<Student>,Comparator<Student> {

	private String name;
	private int age;
	private float grades;

	public Student() {
	}

	public Student(String name, int age, float grades) {
		this.name = name;
		this.age = age;
		this.grades = grades;
	}

	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + ", grades=" + grades + "]";
	}
	@Override
	public int compareTo(Student o) {
		//如果成绩相同,则按照年龄进行排序
		if (this.grades == o.grades) {
			//年龄相等,不换
			if (this.age == o.age) {
				return 0;
			}
			//年龄大,换
			else if (this.age > o.age) {
				return 1;
			}else {
				return -1;
			}
			
		}else if (this.grades > o.grades) {
			return 1;
		}
		else {
			return -1;
		}

	}

	@Override
	public int compare(Student o1, Student o2) {
		if (o1.grades == o2.grades) {
			return o1.age - o2.age;
		}
		return (int) (o1.grades-o2.grades);
	}

	// -------------------------------------------
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public float getGrades() {
		return grades;
	}

	public void setGrades(float grades) {
		this.grades = grades;
	}
//-------------------------------------------


}

测试类

package dh02.test03;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/*
分别用Comparable和Comparator两个接口对下列四位同学的成绩做降序排序,
如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序
姓名(String)年龄(int)分数(float)
liusan		25	  90.0F
lisi		21	  90.0F
wangwu		20	  99.0F
sunliu		22    100.0F
 */
public class Test {
	public static void main(String[] args) {
		List<Student> list = new ArrayList<Student>();
		list.add(new Student("1",25,90.0F));
		list.add(new Student("2",20,99.0F));
		list.add(new Student("3",21,90.0F));
		list.add(new Student("4",22,100.0F));
		Collections.sort(list);
		for (Student student : list) {
			System.out.println(student.toString());
		}
	
	
		
	}
	
	
}

 

  *************************分割*************************

10.Map基础题

学员类

package dh02;
//学员类
public class Student implements Comparable{
	private int no;//学号
	private String name;
	private String sex;
	
	public Student() {

	}

	

	public Student(String name, String sex) {

		this.name = name;
		this.sex = sex;
	}
	
	public Student(int no, String name, String sex) {

		this.no = no;
		this.name = name;
		this.sex = sex;
	}
	//--------------------------
	//	重写方法:定义学生对象的比较规则
	//	比较规则:按学号比,大的往后排
	//	比较对象:当前学生对象(this)和Object o
	public int compareTo(Object o) {
		Student student = (Student)o;
		if (this.no == student.no) {
			return 0;//学号相同,两个学生对象一样大
		}
		else if (this.no > student.no) {
			return 1;//当前学生对象学号大于比较的学生对象学号
		}
		else {
			return -1;//当前学生对象学号小于比较的学生对象学号
		}
	}


	//--------------------------
	public int getNo() {
		return no;
	}

	public void setNo(int no) {
		this.no = no;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}



	
}

测试类

package dh02;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

//测试学生信息
public class TestStudent {

	public static void main(String[] args) {
		Student stu1 = new Student("张三", "男");
		Student stu2 = new Student("李明", "男");
		Student stu3 = new Student("王小华", "女");
		
		Map<String,Student> stuMap = new HashMap<String,Student>();
		stuMap.put("Buck",stu1);
		stuMap.put("Jack",stu2);
		stuMap.put("Jession",stu3);
		
		//输出几名学生进入
		System.out.println("一共有"+stuMap.size()+"名学生进入");
		System.out.println("---------------他们是---------------");
		Set<Map.Entry<String, Student>> set = stuMap.entrySet();
		for (Map.Entry<String, Student> me : set) {
			String key = me.getKey();
			Student student = me.getValue();
			System.out.println(key+"-"+student.getName()+"-"+student.getSex());
		}
		//实现特定英文名称对应的学生信息
		System.out.println("*********************************");
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入您要查询的学生英文名:");
		String name = sc.next();
		if (stuMap.containsKey(name)) {
			//在map中找到了相应的key,则根据key去获取相应的value(学生对象)
			Student student = (Student)stuMap.get(name);
			System.out.println("该学生的全部信息如下:");
			System.out.println(name+"-"+student.getName()+"-"+student.getSex());
		}
		else {
			System.out.println("对不起,没有该名学生!!!!!");
		}
		
		
	}

}

 

  *************************分割*************************

11.遍历Map综合-国家名称

package dh02;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
 * map
 * 国家中英文名称信息对照
 * 中国-China
 * 美国-USA
 * 日本-Japan
 * 
 */
public class CountriesInfo {

	public static void main(String[] args) {
		// 创建集合对象,并将国家信息键值放入集合
		Map<String, String> countries = new HashMap<String, String>();
		countries.put("China", "中国");
		countries.put("USA", "美国");
		countries.put("Japan", "日本");

		// 获取集合中存储的元素个数(键值对对数)
		System.out.println(countries.size());

//		// 获取结合中特定的key对应的value--object返回值类型,需要强制数据类型转换
//		String country = (String) countries.get("China");
//		System.out.println(country);
		
		// 获取结合中特定的key对应的value--有了泛型,数据类型不需要强制转换
		String country = countries.get("China");
		System.out.println(country);
		
//---------------------------------
		// 获取结合中特定的key对应的value,如果找不到,则返回null
		String country1 =countries.get("Australia");
		System.out.println(country1);

		// 判断集合中是否存在某一个国家
		System.out.println("国家列表中是否存在China:" + countries.containsKey("China"));
		System.out.println("国家列表中是否存在Australia:" + countries.containsKey("Australia"));

		// 删除某个特定的key对应的键值对
		System.out.println("国家列表中是否存在USA:" + countries.containsKey("USA"));
		countries.remove("USA");
		System.out.println("国家列表中是否存在USA:" + countries.containsKey("USA"));
		System.out.println(countries.size());

		// 获取键的集合,值的集合,键值对的集合
		System.out.println(countries.keySet());
		System.out.println(countries.values());
		System.out.println(countries);
		System.out.println("************************************");
		// 遍历Map 思路一:遍历key(set),通过key > value
		// 方法一:增强for遍历key的集合(set)
		Set<String> keys = countries.keySet();// 获取到了Map中的所有key
		for (String key : keys) {// 获取到了map中的每一个key
			String value = countries.get(key);// 根据map中的每个key去获取对应的value
			System.out.println(key + "-----" + value);
		}
		System.out.println("************************************");
		// 方法二:迭代器 遍历key的集合(Set)
		Iterator<String> it = keys.iterator();
		while (it.hasNext()) {
			String key = it.next();// 获取到了map中的每一个key
			String value = countries.get(key);// 根据map中的每个key去获取对应的value
			System.out.println(key + "-----" + value);
		}
		System.out.println("************************************");
		
		// 遍历Map 思路二:获取map中的所有键值对,然后再键值对中分别获取key和value
		Set<Map.Entry<String, String>> set = countries.entrySet();// 获取map中的键值对
		// 遍历键值对的集合,把每个键值对(obj)---Map.Entry(键值对的类型)拿出来
		for (Map.Entry<String, String> me: set) {
			String key = me.getKey();// 获取键值对中的键
			String value =  me.getValue();// 获取键值对中的值
			System.out.println(key + "-----" + value);
		}

	}

}

  *************************分割*************************

12.Collections的常用方法

package dh02;

import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

//Collections的常用方法
public class CollectionsUseDemo {
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>(); 
		list.add("ant");
		list.add("bear");
		list.add("pen");
		list.add("zoo");
		list.add("apple");
		list.add("candy");
		list.add("zookeeper");
		
		System.out.println("**********************");
		for (String s : list) {
			System.out.println(s);
		}
		
		System.out.println("**********************");
		//使用Collections对集合进行升序排列
		Collections.sort(list);
		for (String s : list) {
			System.out.println(s);
		}
		//查找集合元素的最大、最小值
		System.out.println("**********************");
		System.out.println("集合中的最大元素:"+Collections.max(list));
		System.out.println("集合中的最小元素:"+Collections.min(list));
		//查找集合中的特定元素(必须进行排序)
		System.out.println("**********************");
		System.out.println(Collections.binarySearch(list, "candy"));
		
		//反转集合元素的顺序
		Collections.reverse(list);
		System.out.println("**********************");
		for (String s : list) {
			System.out.println(s);
		}
		
		
	}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1. Linux手写简单的线程池

目录 一、线程池的概念二、线程池的核心组件三、数据结构设计1、任务队列2、线程池 四、接口设计1、创建线程池2、销毁线程池3、抛出任务的接口 五、实现一个线程池及测试1、测试单生成者——多消费者2、测试多生产者——多消费者3、thrd_pool.h4、thrd_pool.c5、main.c6、thrd…

<C语言> 操作符

1.算术操作符 加法&#xff08;&#xff09;&#xff1a;用于将两个操作数相加。减法&#xff08;-&#xff09;&#xff1a;用于将第一个操作数减去第二个操作数。乘法&#xff08;*&#xff09;&#xff1a;用于将两个操作数相乘。除法&#xff08;/&#xff09;&#xff1a;…

使用JavaScript获取随机数序列

使用Javascript 生成随机数 要在 Javascript 中生成随机数&#xff0c;可以使用 Math 对象的 random() 方法。该方法返回一个大于等于 0 小于 1 的伪随机浮点数。 Javascript中的 Math.random() 函数是一个用于生成随机数的内置函数。 MDN 官方解释 Math.random() 函数返回…

idea常用快捷方式,保姆级!图文并茂【建议收藏】

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 给大家分享一下idea在开发过程中使用的快捷方式把&#xff0c;可以极大的提升生产力&#xff0c;提高自己的开发速度&#xff0c;需要在开发中不断地使用&#xff0c;…

《Linux操作系统编程》 第十章 线程与线程控制: 线程的创建、终止和取消,detach以及线程属性

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

arcgis-elasticsearch矢量数据导入及索引设计工具

插件说明 插件支持单图层导入和多图层同时导入&#xff0c;依赖elasticsearch包和urlLib包&#xff0c;使用之前请用pip安装&#xff0c;具体的依赖包的requirements.txt文件放在压缩包里面了。 pip install -r requirements.txt插件下载地址&#xff1a;https://download.cs…

DocuSign:在全球电子签名市场具有巨大上涨潜力的SaaS股

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结 &#xff08;1&#xff09;DocuSign的核心电子签名业务还在持续增长&#xff0c;尽管在疫情后增速有所放缓&#xff0c;但第一季度的收入已经达到了6.61亿美元&#xff0c;增长率为12%。 &#xff08;2&#xff09;Do…

Linux:通过wget下载安装mysql数据库(5.7版本)

目前&#xff0c;主要使用的MySQL有5.7和8.0两个版本&#xff0c;在安装上&#xff0c;5.7和8.0版本基本一致&#xff0c;区别只在于配置root密码和远程登陆上不同。本次将以5.7版本作为对象&#xff0c;进行后续安装。 1.wget下载MySQL安装文件 下载完成&#xff0c;得到mysq…

PySpark如何输入数据到Spark中?【RDD对象】

PySpark支持多种数据的输入&#xff0c;在输入完成后&#xff0c;都会得到一个&#xff1a;RDD类的对象RDD全称为弹性分布式数据集(Resilient Distributed Datasets)&#xff0c;PySpark针对数据的处理&#xff0c;都是以RDD对象作为载体&#xff0c;即&#xff1a; •数据存储…

ansible实训-Day3(playbook的原理、结构及其基本使用)

一、前言 该篇是对ansible实训第三天内容的归纳总结&#xff0c;主要包括playbook组件的原理、结构及其基本使用方式。 二、Playbook 原理 Playbook是Ansible的核心组件之一&#xff0c;它是用于定义任务和配置的自动化脚本。 Ansible Playbook使用YAML语法编写&#xff0c;可…

Linux 学习记录42(C++篇)

Linux 学习记录42(C篇) 本文目录 Linux 学习记录42(C篇)一、class 类1. 类中的this指针(1. this指针的格式(2. 使用this指针 2. 类中特殊的成员函数(1. 构造函数>1 格式/定义>2 调用构造函数的时机>3 构造函数的初始化列表 (2. 析构函数>1 功能/格式>2 析构函数…

Redis的数据复制到另一台Redis

Redis的数据复制到另一台Redis 最近用到一个问题&#xff0c;需要把Redis的数据复制到另一台Redis&#xff0c;现在总结下解决问题的方法 解决方法一&#xff1a; redis-dump导出 [root ~]# redis-dump -u :password172.20.0.1:6379 > 172.20.0.1.jsonredis-load导入 [ro…

快速打造属于你的接口自动化测试框架

目录 1 接口测试 2 框架选型​​​​​​​ 3 环境搭建 4 需求 5 整体实现架构 6 RF用例实现​​​​​​​ 7 集成到CICD流程 总结&#xff1a; 1 接口测试 接口测试是对系统或组件之间的接口进行测试&#xff0c;主要是校验数据的交换&#xff0c;传递和控制管理过程…

Redis 高可用 RDB AOF

---------------------- Redis 高可用 ---------------------------------------- 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 但是在Redis语境…

基于Java人力资源管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

webassembly简单Demo——hello world

参考官网 Emscripten Tutorial 一、创建C/C文件 hello.c #include <stdio.h>int main() {printf("hello, world!\n");return 0; } 二、编译成html 命令行切到hello.c目录下&#xff0c;执行如下命令(注意需要em的环境变量&#xff0c;参考&#xff1a;emsr…

5G AI MEC智能制造数字化工业互联网大数据平台建设方案PPT

导读&#xff1a;原文《102页新一代数字化转型信息化总体规划方案PPT》共102页PPT&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式&…

ARM-进入和退出异常中断的过程(六)

文章目录 ARM 处理器对异常中断的响应过程从异常中断处理程序中返回 ARM 处理器对异常中断的响应过程 ARM 指令为三级流水线&#xff1a;取地&#xff0c;译码和执行 进入中断的时候 LR PC -4 当出现异常时&#xff0c;ARM 内核自动执行以下操作 将 cpsr 寄存器的值保存到…

走近JDK 17,探索最新Java特性,拥抱未来编程!

大家好&#xff0c;我是小米&#xff0c;一个热爱技术分享的程序员。今天&#xff0c;我将为大家介绍一下JDK 17的新特性。JDK 17是Java开发工具包的一个重要版本&#xff0c;其中包含了许多令人激动的新功能和改进。在这篇文章中&#xff0c;我将详细介绍JDK 17中的各项特性&a…

Mathtype7Mac苹果ios简体中文版

对于很多人来说&#xff0c;每次编辑文字的时候遇到公式简直就是噩梦。像那些复杂的数学、物理还有化学公式&#xff0c;太难编辑出来了。 那么我们该怎么解决这些难题呢&#xff1f;其实很简单&#xff0c;用公式编辑器就行了。 公式编辑器&#xff0c;是一种工具软件&#…