java LinkedHashSet和LinkedHashMap初识
·
1.去除ArrayList集合中的重复元素。定义一个ArrayList集合,并向集合中手动添加以下元素,[java01, java02, java01, java02, java01, java03]。
import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
LinkedHashSet<String> set=new LinkedHashSet<>();
set.add("java01");
set.add("java02");
set.add("java01");
set.add("java02");
set.add("java01");
set.add("java03");
Iterator<String> it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
2.main方法中定义一个集合,存入三个用户对象,用户属性为:id,username,password。要求:定义一个方法,根据id查找对应的用户信息。如果存在,返回true,如果不存在,返回false。
import java.util.Iterator;
import java.util.LinkedHashSet;
class user {
private String id,username,password;
public user(String id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public String getId() {
return id;
}
public void show()
{
System.out.println(id);
System.out.println(username);
System.out.println(password);
}
}
public class Main {
public static void main(String[] args) {
LinkedHashSet<user> set=new LinkedHashSet<>();
user a1=new user("123","abc","123456");
user a2=new user("456","der","asd456");
user a3=new user("789","bdc","115670");
set.add(a1);
set.add(a2);
set.add(a3);
Iterator<user> itr=set.iterator();
String [] sa={"456","147","123"};
for(int i=0;i<3;i++) {
boolean yes=false;
itr=set.iterator();
while (itr.hasNext()) {
if (sa[i].equals(itr.next().getId())) {
yes = true;
}
}
System.out.println(yes);
}
}
}
3.定义一个集合,添加4个学生对象,并进行遍历删除学生名中含有“明”字的学生信息。学生类的属性为:姓名,年龄。
import java.util.Iterator;
import java.util.LinkedHashSet;
class student {
private String name;
private int age;
public student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void show()
{
System.out.println(this.name+" "+this.age);
}
}
public class Main {
public static void main(String[] args) {
LinkedHashSet<student> set = new LinkedHashSet<>();
student a1 = new student("明a", 11);
student a2 = new student("aew", 22);
student a3 = new student("a明14", 33);
student a4 = new student("a11", 43);
set.add(a1);
set.add(a2);
set.add(a3);
set.add(a4);
Iterator<student> itr = set.iterator();
while (itr.hasNext()) {
if (itr.next().getName().contains("明")) {
itr.remove();
}
}
itr = set.iterator();
while (itr.hasNext()) {
itr.next().show();
}
}
}
4.创建一个存储学生对象的集合,存储多个学生对象,要求多个学生对象的成员变量相同时,认为是同一个对象,要求只保留一个。。分析:(1) 编写一个Student类,包含name和age属性,提供有参构造方法。(2) 在Student类中,重写toString()方法,输出age和name的值。(3) 在Student类中,重写hashCode()和equals()方法
import java.util.Iterator;
import java.util.LinkedHashSet;
class student {
private String name;
private int age;
public student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void show()
{
System.out.println(this.name+" "+this.age);
}
public int hashCode()
{
return this.name.hashCode();
}
public boolean equals(Object o)
{
return this.name.equals(((student)o).name);
}
public void to_String()
{
System.out.println(this.name+" "+this.age);
}
}
public class Main {
public static void main(String[] args) {
LinkedHashSet<student> set = new LinkedHashSet<>();
student a1 = new student("小明", 11);
student a2 = new student("小明", 24567);
student a3 = new student("小星", 33);
student a4 = new student("小星", 33);
set.add(a1);
set.add(a2);
set.add(a3);
set.add(a4);
Iterator<student> itr = set.iterator();
while (itr.hasNext()) {
itr.next().show();
}
}
}
5.创建一个HashMap集合,键是学生对象(Student),值是籍贯(String);存储三个键值对元素,并遍历。(同姓名,同年龄认为是同一个学生)。
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
class student {
private String name;
private int age;
public student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void show()
{
System.out.println(this.name+" "+this.age);
}
public int hashCode()
{
return this.name.hashCode();
}
public boolean equals(Object o)
{
return this.name.equals(((student)o).name)&&this.age==((student)o).age;
}
public void to_String()
{
System.out.println(this.name+" "+this.age);
}
}
public class Main {
public static void main(String[] args) {
LinkedHashMap<student,String> ma = new LinkedHashMap<>();
student a1 = new student("小明", 11);
student a2 = new student("小明", 24567);
student a3 = new student("小星", 33);
student a4 = new student("小星", 33);
ma.put(a1,"河南");
ma.put(a2,"山东");
ma.put(a3,"东北");
ma.put(a4,"北京");
for(Map.Entry<student,String> e:ma.entrySet())
{
System.out.println(e.getKey().getName()+" "+e.getKey().getAge()+" "+e.getValue());
}
}
}
更多推荐


所有评论(0)