• 泛型: 即限制存入集合中元素的类型
public class Test02 {public static void main(String[] args) {//泛型方法的基本使用ArrayList<String> list = new ArrayList<>();list.add("发财树");list.add("常青树");list.add("梧桐树");list.add("槐花树");System.out.println(list);//调用toArray空参构造返回object类型数据Object[] objects = list.toArray();//调用方法传入数组,返回数组中元素字符串表示形式System.out.println(Arrays.toString(objects));//参数类型为数组类型,所以new出String类型传进去String[] strings = list.toArray(new String[list.size()]);System.out.println(strings);}
}
  • 泛型方法基本使用
public class Test07 {public static void main(String[] args) {ArrayList<String> methods = methods(new ArrayList<String>(), "万年青", "发财树", "鸭脚木", "吊篮");System.out.println(methods);ArrayList<Integer> methods1 = methods(new ArrayList<Integer>(), 12, 16, 18, 20);System.out.println(methods1);}public static <T>ArrayList<T> methods(ArrayList<T> list,T t1,T t2,T t3,T t4) {list.add(t1);list.add(t2);list.add(t3);list.add(t4);return list;}
}
  • 泛型通配符<?>
ublic class Test08 {public static void main(String[] args) {//泛型通配符使用ArrayList<Integer> String = new ArrayList<>();ArrayList<Object> object = new ArrayList<>();methods1(String);methods2(object);}public static < T >void methods1(ArrayList<? extends Number > list1) {System.out.println("extends只能传入小于或者等于");}public static < T >void methods2(ArrayList<? super Number > list2) {System.out.println("super只能传入大于或者等于");}}
  • set集合:去除重复、存取无序、没有索引.不能使用普通fori循环、可以将元素按照规则进行排序

public class headmaster implements Comparable<headmaster> {private String anme;private int age;public headmaster() {}public headmaster(String anme, int age) {this.anme = anme;this.age = age;}public String getAnme() {return anme;}public void setAnme(String anme) {this.anme = anme;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "headmaster{" +"anme='" + anme + '\'' +", age=" + age +'}';}@Overridepublic int compareTo(headmaster o) {//判断条件一,this代表即将传入的数据,o代表已经传入的数据int  ruselt =this.age-o.age;//判断条件二,利用码表进行姓名判断ruselt = ruselt == 0 ? this.anme.compareTo(o.anme) : ruselt;return ruselt;}
}ublic class Test01 {public static void main(String[] args) {//自然排序TreeSet<headmaster> set = new TreeSet<>();headmaster s1 = new headmaster("王者荣耀",6);headmaster s2 = new headmaster("天天酷跑",5);headmaster s3 = new headmaster("消消乐",10);headmaster s4 = new headmaster("刺激战场",10);set.add(s1);set.add(s2);set.add(s3);set.add(s4);System.out.println(set);}
}

public class Test02 {public static void main(String[] args) {//比较器排序TreeSet<String> set = new TreeSet<>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {//条件一,按照字符长度进行排序int result = o1.length() - o2.length();//条件二,按照码表进行排序result = result == 0 ? o1.compareTo(o2) : result;return result;}});set.add("zhang");set.add("wang");set.add("li");set.add("la");//java默认自然排序,倘若默认排序满足不了需求可是使用比较器排序System.out.println(set);}
}

java_进阶.泛型.set集合.第八天相关推荐

  1. Java实用教程笔记 泛型与集合框架

    泛型与集合框架 Generics 链表 LinkedList < E >泛型类 接口回调 常用方法 LinkedList< E >泛型类实现Link< E >泛型接 ...

  2. sqlite工具类 java_Java之泛型、集合工具类

    集合工具类 在我们讲完常用的基本集合后,我们就要介绍下位于java.util包下的collections类,注意:我们之前的collection是集合的接口,而collections是一个类.coll ...

  3. .net core精彩实例分享 -- 泛型和集合

    文章目录 介绍 具体案例 限制泛型参数只能使用值类型 泛型参数的输入和输出 将抽象类作为类型约束 使用Span提升处理字符串的性能 多个Task同时操作ConcurrenBag集合 跨线程访问Bloc ...

  4. Java集合之Collection集合、泛型 【集合综合案例:赌神、赌侠、赌神斗地主】

    第一章. Collection集合 1.1 集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. ...

  5. Java进阶,Set集合,Map集合

    Java进阶,Set集合,Map集合 一.Set系列集合 1.Set系列集系概述 Set系列集合特点 无序:存取顺序不一致 不重复:可以去除重复 无索引:没有带索引的方法,所以不能使用普通for循环遍 ...

  6. SCJP笔记_章七_泛型与集合

    第七章 泛型与集合 7.1 重写hashCode()和equals()方法 考试目标6.2 区分hashCode()和equals()方法的正确设计和错误设计,并解释 == 和equals()方法的不 ...

  7. 01.08学习Java的day18【泛型与集合】

    day18[泛型] 主要内容 泛型 Collection集合 学习目标 能够使用泛型定义类.接口.方法 能够理解泛型上限 能够阐述泛型通配符的作用 能够识别通配符的上下限 能够熟练使用Collecti ...

  8. (10)Java泛型-Map集合-集合框架工具类-可变参数-静态导入

    -- 部分1.5新特性Java泛型-Map集合-集合框架工具类 泛型 概述: JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制. 对于泛型可以这样理解: 没有使用泛型时,只要是对 ...

  9. 将json字符串中数组节点转换为泛型list集合(gson)

    开发中需要将json中节点单独取出某个节点,解析获取数据,此处对json字符串节点中数组节点,转换为泛型list集合,使用gson. google的gson的pom文件和jar:gson 代码如下: ...

最新文章

  1. db2查看表结构_mysql误删数据库表的frm文件和ibd文件?试试这样恢复
  2. FreeRTOS 中断优先级嵌套错误引发HardFault异常解决
  3. java dumpheap_java程序性能分析之thread dump和heap dump
  4. 工作总结 EntityFramework中出现DateTime2异常的完美解决办法
  5. 和quicklook相似的软件_细数软件推荐上万热度出现比例较高的10款软件,看看谁出现最多...
  6. python构建知识库_Python学习知识库
  7. 递归处理汉诺塔问题(c++/python)
  8. vue中select选择框的监听事件
  9. 华三 h3c NTP配置
  10. MATLAB LSTM多输入多输出 模式分类 示例解析(含代码)
  11. 二阶魔方高级玩法公式
  12. MySQL 性能优化的 9 种知识,面试再也不怕了
  13. 谷仓创造区块链+电商消费新模式
  14. CF1153F Serval and Bonus Problem
  15. php 过滤英文标点符号 过滤中文标点符号
  16. ESD防护方法及设计要点
  17. 【图文详解】canvas插件安装方法及常用插件推荐
  18. 科林明伦杯哈尔滨理工大学第八届程序设计竞赛——Hrbust-2378 小H的问题(模拟)
  19. Linux编码解码指令-base64
  20. Hexo自动部署到阿里云(Ubantu16.04)【超详细踩坑记录】

热门文章

  1. 【5G架构】5G 核心网——基于服务的网络架构
  2. html学习基础(一)
  3. git提交错误 [remote rejected] HEAD -> refs/xxx 原因以及解决方法
  4. Oracle12C安装配置
  5. 每秒处理10万订单的乐视支付架构
  6. 什么是瞬时极性法,怎么使用?
  7. PTA刷题之手机号码
  8. 做北京linux培训哪家好?
  9. Google PR 劫持方法
  10. 简述使用混合传递参数时的基本原则_东南大学传热学考试真题试卷与解析