HashSetTest

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class HashSetTest {
	public static void main(String[] args) {
		/**

	  * Set 是接口,不能直接new对象
	    * new HashSet<>( );   <>是泛型
	     * HashSet 储存数据无序,并且数据不能重复
	       */
	         Set<Integer> set=new HashSet<Integer>();
	         //增
	         set.add(90);
	         set.add(10);
	         set.add(9);
	         set.add(100);


	  //删
	  /**.remove(9)根据数据进行删除*/
	  set.remove(9);
	  //改


	  //查
	  System.out.println("----------第一种方法--toSring-----------");
	  	/**调用toString方法 直接写对象名*/
	   System.out.println(set);

	   System.out.println("----------第二种方法--for-----------");
	   /**  size() 集合的长度*/
	   int length=set.size();
	   /** 简单的for循环不可以使用,因为set集合没有get方法*/
	   for(int i=0;i<length;i++) {
	   //set.get();
	}
	   System.out.println("-----------第三种--forEach---------------");
	   for(Object o:set) {
		   System.out.println(o);
		   
	   }
	   System.out.println("-----------第四种--迭代器---------------");
	   /** .iterator();获取迭代器   */
	   Iterator iterator=set.iterator();
	   /**.hasNext判断是否有值*/
	   while(iterator.hasNext()) {
		   /**.next()获取下一个值*/
		   Object o=iterator.next();
		   System.out.println(o);
	   }

	   /**
	    * 排序
	    * 如果需要排序,一般使用treeSet
	    * 需要排序,那就绕一下,转换成数组
	    * 
	    */

	   System.out.println("--------------排序--------------");
	  Object[]array=set.toArray();

	  Arrays.sort(array);
	  for(Object object:array) {
		  System.out.println(object);
		  
	  }

	}
}
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
public class LinkListETest {
	public static void main(String[] args) {
		/**
		 * 一般遇到T是泛型的意思
		 * 泛型只能放应用数据类型(包装类),不能放基本数据类型
		 */
		List<Integer> list = new LinkedList<Integer>();
		list.add(10);
		list.add(5);
		list.add(11);
		list.add(33);
		list.add(9);
		list.add(7);
		System.out.println(list);//排序前的list
		/**
		 * 排序
		 *  0 代表两个数据相等
		 *  1 代表i1大于i2
		 *  -1 代表i1小于i2
		 */
		list.sort(new Comparator<Integer>() {
			@Override
			public int compare(Integer i1, Integer i2) {
				/*
				 * i2-i1 降序
				 * i1-i2升序
				 */
				return i2-i1;
			}
		});
		System.out.println("排序后");
		System.out.println(list);
		System.out.println("第二种排序");
		/**
		 * Colections 工具类
		 *  .Sort(list)默认是升序
		 */
		Collections.sort(list);
		System.out.println(list);
		System.out.println("第三种排序");
		Collections.sort(list,new Comparator<Integer>() {
			
			public int compare(Integer o1,Integer o2) {
				return o2-o1;
			}});
		System.out.println(list);
		System.out.println("第四种排序");
		/**mycom  自定义比较器对象*/
		MyComparator mycom=new MyComparator();
		Collections.sort(list,mycom);
		System.out.println(list);
}
}
import java.util.Comparator;
public class MyComparator implements Comparator<Integer>{
	/**

	 * 自定义比较器

	 * 1.实现Comparator 接口

	 * 2.导包 import java.util.Comparator;

	 * 3.重写抽象方法

	 * @author Administrator
	   *
	    */
	   public class myComparator implements Comparator<Integer>{

	   @Override
	   public int compare(Integer o1, Integer o2) {
	   	// TODO Auto-generated method stub
	   	/**

	     * o1-o2 升序
	       * o2-o1 降序
	         */
	         return o2-o1;
	         }

	}

	@Override
	public int compare(Integer o1, Integer o2) {
		// TODO Auto-generated method stub
		return 0;
	}
}
import java.util.Arrays;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class TreeSetTest {
	public static void main(String[] args) {
		Set set=new TreeSet<Integer>();
		//增
		/**
		 *TreeSet 升序排序 数据不能重复 
		 */
		set.add(20);
		set.add(20);
		set.add(90);
		set.add(10);
		set.add(6);
		set.add(30);
		//删
		set.remove(0);//根据数据删除
		//查
		System.out.println("---------------第一种--toString--------------------");
		System.out.println(set);

		System.out.println("---------------第二种----------------------");
		for(Object o:set) {
			   System.out.println(o);
		}

		System.out.println("---------------第三种----------------------");
		 /** .iterator();获取迭代器   */
		   Iterator iterator=set.iterator();
		   /**.hasNext判断是否有值*/
		   while(iterator.hasNext()) {
			   /**.next()获取下一个值*/
			   Object o=iterator.next();
			   System.out.println(o);
		   }

		   System.out.println("--------------排序--------------");
		   Object[]array=set.toArray();
		   
		   Arrays.sort(array);
		   for(Object object:array) {
		 	  System.out.println(object);
		 	  
		   }
		//不用排序 自带升序
}
}	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值