set集合

****set集合:无序,不可以重复。因为无序,所有不能跟据指定下标进行查询。
set集合查询遍历有俩种方法:
// foreach循环遍历

Set   set=new  HashSet<>();
    set.add("zs");
	set.add("ls");
	set.add("ww");
	set.add("gb");
	set.add("td");
		for (Object s : set) {
			System.out.println(s);
		}

//迭代器
//迭代器循环遍历

Set   set=new  HashSet<>();
    set.add("zs");
	set.add("ls");
	set.add("ww");
	set.add("gb");
	set.add("td");
	Iterator it = set.iterator();
		while (it.hasNext()) {
		System.out.println(it.next());
	}

// //在hashset中如果要添加值,会默认比较这两个值的equals方法
// //如果通过比较相等,那么就不会添加
// //但是student类是我们自己新写的类
// //所有调用他的equals方法实际是调用他的父类的
// //equals方法默认比较的是地址,所有他会添加进来。
// //因为我自己写的类equals比较的是地址,
// //所有去重写一个equals方法来进行比较。

Set<Student>  set=new  HashSet<Student>();
//		set.add(new  Student(1, "zs", "m"));
//		set.add(new  Student(2, "ls", "y"));
//		set.add(new  Student(1, "zs", "m"));
//		set.add(new  Student(3, "td", "m"));

// //foreach

//		for (Student s : set) {
//			System.out.println(s);
//		}

// //迭代器

//		Iterator<Student> it = set.iterator();
//		while (it.hasNext()) {
//			System.out.println(it.next());
//		}
//treeset是根据首字母的ASCII码来进行比较的

// Set set=new TreeSet();

//		set.add("zs");
//		set.add("ls");
//		set.add("ww");
//		set.add("td");
//		for (String s : set) {
//			System.out.println(s);
//		}

//comparable接口
/**
* 因为我们自己新写的类没有comparable接口
* 所有我们要在新写的类,去实现comparable接口
* 实现comparable接口里面的方法来进行判断
/
//这个是用来当前学生,跟传过来的学生进行比较
@Override
public int compareTo(Student o) {
//判断当前学生,跟传过来的学生进行比较是否相等
//如果不相等就减去
/
*
* 返回三个值
* 如果相等返回0;
* 如果小,返回-1;
* 如果大,返回大
*/

      if(this.sid!=o.sid) {
    	  return this.sid-o.sid;
      }
      else if(this.sname!=o.sname) {
    	  return this.sname.hashCode()-o.sname.hashCode();
      }
      else {
    	  if(this.sex!=o.sex) {
	    	  return this.sex.hashCode()-o.sex.hashCode();
    	  }
      }
	    return 0;
}
	//根据他的sid排序
//		Set<Student>  set=new  TreeSet<Student>();
//		set.add(new  Student(1, "zs", "m"));
//		set.add(new  Student(2, "ls", "y"));
//		set.add(new  Student(3, "td", "m"));
//		for (Student s : set) {
//			System.out.println(s);
//		}**

/**

//comparator接口
* 因为我们自己新写的类没有Comparator接口
* 所有我们要在新写的类,去实现Comparator接口
* 实现Comparator接口里面的方法来进行判断
*/
@Override

public int compare(Student o1, Student o2) {
		if(o1.equals(02)) {
			if(!o1.equals(o2)) {
				return o1.compareTo(o2);
			}
		}
		return 0;
	}**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值