JavaSE-Day14 集合

泛型

概念:
	将数据类型作为参数进行传递
定义:
	<K,D,F,?>
使用
1.在方法上使用
public class Test {
    public static void main(String[] args) {
        Integer i = test(1);
        String str = test("123");
        Test t = new Test();
        Test test = test(t);
    }
    /**
     * 要求,传入的参数类型就是返回值类型
     */
    public static <X> X test(X str) {
        return str;
    }
    /**
     * 可以传入任何一种类型
     */
    public static <X,Y> void test01(X str,Y y,Y y2) {

    }
}
2.在类中使用
public class Demon01<X,Y> extends Object{
	private X name;
	private Y age;
	private X sex;
	public Demon01() {
		super();
	}
	public Demon01(X name, Y age, X sex) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	public X getName() {
		return name;
	}
	public void setName(X name) {
		this.name = name;
	}
	public Y getAge() {
		return age;
	}
	public void setAge(Y age) {
		this.age = age;
	}
	public X getSex() {
		return sex;
	}
	public void setSex(X sex) {
		this.sex = sex;
	}
	@Override
	public String toString() {
		return "Demon01 [name=" + name + ", age=" + age + ", sex=" + sex + "]";
	}
}
3.在接口上使用
public interface Demon02<K> {
	void test();
}
//注意 : 本类后 和 实现接口的类后 都要写 泛型
class MyTest<K> implements Demon02<K>{

	 K k ;

	@Override
	public void test() {
		// TODO Auto-generated method stub
		System.out.println("泛型"+ k);
	}
}

总结:
传入的时什么数据类型,取出的就是什么数据类型

集合

概念:
	存放一组数据类型相同的数据,必须是,引用数据类型,且长度可变
体系::
	Collection 接口:
		特点:
			无序 存储顺序 与 取出顺序不一致 
		方法:
			增加:
				add(数据); 增加一条数据
				addAll(Collection< ? extends E> c); 将指定数据从集合中删除
			删除:
				remove(数据); 删除一条数据
				removeAll(Collection < ? extends E > c); 将子集中的数据从集合中删除
				clear();清空所有数据
			查询:
				int size(); 获取集合中数据的个数
				contains(数据); 判断指定元素是否在集合中存在
				containsAll(Collection <? extends E> c); 判断子集集合中的元素的所有数据是否在集合中存在
				Iterator<E> iterator(); 迭代器
			其它:
				isEmpty();是否为空
				toArray(); 转换为数组  只能是Object[ ];
	子接口:
		List:
			特点:
				有序 - 有下标 
			子类特有的方法:
				增加:
					一次插入一个数据,1:插入的位置,2:插入数据
					void add (int index,	E  element);
						一次插入一组数据,参数1:插入的位置;2:插入的数据
					void addAll(int index , Collection <? extends E> c);
				删除:
					按照下标删除指定位置的数据
					remove(int index);
				修改:
					参数1:修改数的下标 参数2:修改的数据
					set(int index , E element);
				查询:
					获取指定位置的元素,参数下标
					get(int index);
				子类:
					ArrayList			jdk1.2 线程不安全的
								数据结构			数组
								特点:			查询快,增删比较慢
					Vector			jdk1.0 线程安全的
								数据结构:		数组		
					LinkedList	jdk1.2 线程不安全的
								数据结构: 	链表
								特点:增删速度快 , 查询速度慢
			 Set
			  	特点:无序 无下标	不能重复
				  	子类特有的方法, 没有全部是依靠父类
				子类:
			  		HashSet		jdk1.2线程不安全
			  					数据结构:链表  + 红黑树(基于哈希表)
			  		LinkedHashSet		jdk 1.4 线程不安全的
				  				数据结构:链表  + 红黑树 (基于哈希表) + 链表
				  				特点:有序
					TreeSet
			  					数据结构:链表 + 红黑树
			  					方案一:
			  						数据自身拥有比较性
				  					1. 让储存数据的类实现 CompareTo 接口
				  					2.重写compareTo方法
				  				方法二:
				  					提供比较器
				  					创建TreeSet对象的时候,传入比较器的对象,
				  					本质: 匿名内部类	

时间

//与时间相关的
		Date date = new Date();
		long time = date.getTime();
		System.out.println(time);
		System.out.println(date.toString());
		
		//获取当前系统的时间
		Calendar data = Calendar.getInstance();
		System.out.println(data);
		String string = data.toString();
		System.out.println(string);
		
		Date time2 = data.getTime();
		System.out.println(time2);
		/**
		 * y:年
		 * M:月
		 * d:当月的第多少天
		 * h:12小时制
		 * H:24小时制
		 * m:分钟
		 * s:秒
		 */
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy - MM - dd : HH - mm - ss");
		String format = simpleDateFormat.format(time2);
		System.out.println(format);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值