java_进阶.泛型.set集合.第八天
- 泛型: 即限制存入集合中元素的类型
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集合.第八天相关推荐
- Java实用教程笔记 泛型与集合框架
泛型与集合框架 Generics 链表 LinkedList < E >泛型类 接口回调 常用方法 LinkedList< E >泛型类实现Link< E >泛型接 ...
- sqlite工具类 java_Java之泛型、集合工具类
集合工具类 在我们讲完常用的基本集合后,我们就要介绍下位于java.util包下的collections类,注意:我们之前的collection是集合的接口,而collections是一个类.coll ...
- .net core精彩实例分享 -- 泛型和集合
文章目录 介绍 具体案例 限制泛型参数只能使用值类型 泛型参数的输入和输出 将抽象类作为类型约束 使用Span提升处理字符串的性能 多个Task同时操作ConcurrenBag集合 跨线程访问Bloc ...
- Java集合之Collection集合、泛型 【集合综合案例:赌神、赌侠、赌神斗地主】
第一章. Collection集合 1.1 集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. ...
- Java进阶,Set集合,Map集合
Java进阶,Set集合,Map集合 一.Set系列集合 1.Set系列集系概述 Set系列集合特点 无序:存取顺序不一致 不重复:可以去除重复 无索引:没有带索引的方法,所以不能使用普通for循环遍 ...
- SCJP笔记_章七_泛型与集合
第七章 泛型与集合 7.1 重写hashCode()和equals()方法 考试目标6.2 区分hashCode()和equals()方法的正确设计和错误设计,并解释 == 和equals()方法的不 ...
- 01.08学习Java的day18【泛型与集合】
day18[泛型] 主要内容 泛型 Collection集合 学习目标 能够使用泛型定义类.接口.方法 能够理解泛型上限 能够阐述泛型通配符的作用 能够识别通配符的上下限 能够熟练使用Collecti ...
- (10)Java泛型-Map集合-集合框架工具类-可变参数-静态导入
-- 部分1.5新特性Java泛型-Map集合-集合框架工具类 泛型 概述: JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制. 对于泛型可以这样理解: 没有使用泛型时,只要是对 ...
- 将json字符串中数组节点转换为泛型list集合(gson)
开发中需要将json中节点单独取出某个节点,解析获取数据,此处对json字符串节点中数组节点,转换为泛型list集合,使用gson. google的gson的pom文件和jar:gson 代码如下: ...
最新文章
- db2查看表结构_mysql误删数据库表的frm文件和ibd文件?试试这样恢复
- FreeRTOS 中断优先级嵌套错误引发HardFault异常解决
- java dumpheap_java程序性能分析之thread dump和heap dump
- 工作总结 EntityFramework中出现DateTime2异常的完美解决办法
- 和quicklook相似的软件_细数软件推荐上万热度出现比例较高的10款软件,看看谁出现最多...
- python构建知识库_Python学习知识库
- 递归处理汉诺塔问题(c++/python)
- vue中select选择框的监听事件
- 华三 h3c NTP配置
- MATLAB LSTM多输入多输出 模式分类 示例解析(含代码)
- 二阶魔方高级玩法公式
- MySQL 性能优化的 9 种知识,面试再也不怕了
- 谷仓创造区块链+电商消费新模式
- CF1153F Serval and Bonus Problem
- php 过滤英文标点符号 过滤中文标点符号
- ESD防护方法及设计要点
- 【图文详解】canvas插件安装方法及常用插件推荐
- 科林明伦杯哈尔滨理工大学第八届程序设计竞赛——Hrbust-2378 小H的问题(模拟)
- Linux编码解码指令-base64
- Hexo自动部署到阿里云(Ubantu16.04)【超详细踩坑记录】