java集合框架03
public class News implements Comparable {private int id; //新闻编号private String title; //新闻标题@Overridepublic String toString() {return "新闻 [编号=" + id + ", 标题=" + title + "]";}public News() { //无参构造super();}public News(int id, String title) { //带参构造super(); this.id = id;this.title = title;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}//重写 排序的规则 升序@Overridepublic int compareTo(Object o) {News news=(News) o;if (news.getId()==this.id) {return 0;}else if (news.getId()<this.id) {return 1; // 降序 return -1;}else {return -1; // 降序 return 1;}}
}public class CollectionsTest {public static void main(String[] args) {/** 操作集合的工具类Collections* *///创建一个集合List<String> list=new ArrayList<String>();list.add("b");list.add("d");list.add("c");list.add("a");System.out.println("没有排序====》"+list); //插入时候的顺序//对集合进行随机排序Collections.shuffle(list);//开奖号码 136 顺序必须对 631不对 System.out.println("随机排序====》"+list);//按照字母的升序排列Collections.sort(list); System.out.println("升序====》"+list); //降序 也是必须在升序之后Collections.reverse(list);System.out.println("降序====》"+list); //查询 "b"在集合中的位置 必须先升序 排列之后再查询Collections.sort(list); System.out.println(Collections.binarySearch(list, "a"));System.out.println("****************************");List<News> news=new ArrayList<News>(); //想实现对象的排序news.add(new News(3, "新闻3"));news.add(new News(1, "新闻1"));news.add(new News(4, "新闻4"));news.add(new News(2, "新闻2"));for (News news2 : news) {System.out.println(news2);}/** 如果News没有重写Comparable接口中的compareTo()是编译报错的!* 我们必须重写compareTo() 定义规则*/Collections.sort(news);System.out.println("对象排序之后.........");for (News news2 : news) {System.out.println(news2);}}@Testpublic void test1(){//通过String类中的split()把字符串转换成字符串数组String[] str1="a b c d d d".split(" ");//把数组转换成集合List<String> asList = Arrays.asList(str1);System.out.println(asList);String[] str2="c d".split(" ");List<String> asList2= Arrays.asList(str2);//最后一次出现的位置System.out.println(Collections.lastIndexOfSubList(asList, asList2));//首次出现的位置System.out.println(Collections.indexOfSubList(asList, asList2));}@Testpublic void test2(){String[] str1="a b c d e f".split(" ");//把数组转换成集合List<String> list = Arrays.asList(str1);System.out.println(list);//集合中的元素向后移distance个位置,之后被覆盖的元素循环前移Collections.rotate(list, 2);System.out.println(list);}
}
转载于:https://www.cnblogs.com/HHR-SUN/p/7015662.html
java集合框架03相关推荐
- Java学习---day14_集合框架03
Java学习-day14_集合框架03 Set集合 Set集合中,没有下标的概念 Set集合,是一个去重复的集合.在Set集合中不会添加重复的元素的 在向一个Set集合中添加元素的时候,会先判断这个元 ...
- Java集合框架之四大接口、常用实现类,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- hashtable允许null键和值吗_【29期】Java集合框架 10 连问,你有被问过吗?
点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 首先要说一下,本文对这些Java集合框架的面试题只做了一个总结式的回答,对每一道题目,都值得深入去了解一下(什么是扎 ...
- JavaEE学习笔记-(2)java集合框架
JCF:java集合框架 Collection:单值类型集合 1.List 类型 底层实现 ArrayList(数组元素个数) 数组 LinkedList() 链表 Vector(数组元素个数,步长) ...
- Java集合框架综述,这篇让你吃透!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:平凡希 cnblogs.com/xiaoxi/p/60899 ...
- 【Java集合框架】ArrayList类方法简明解析(举例说明)
本文目录 1.API与Java集合框架 2.ArrayList类方法解析 2.1 add() 2.2 addAll() 2.3 clear() 2.4 clone() 2.5 contains() 2 ...
- Java集合框架的知识总结(1)
Java集合框架的知识总结(1) 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量). Java的集合类主要由两个接口派生而出:Collection和Map,Collec ...
- java集合框架史上最详解(list set 以及map)
title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...
- 【Java集合源码剖析】Java集合框架
2019独角兽企业重金招聘Python工程师标准>>> Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组.链表.栈.队列.集合.哈希表等.学习Java集 ...
最新文章
- 【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍
- 如何编写webService接口
- matlab 图像读取默认值,实验一MATLAB数字图像处理
- linux 没有线程的,,Linux 到现在还是没有线程呀?
- Centos 7换源
- 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
- ssms没有弹出服务器验证_使用SSMS扫描和查找SQL Server数据库的潜在安全漏洞
- 4-1k近邻算法(k-Nearest Neighbors)
- matlab计算复活节概率,复活节日期的计算方法
- aotuwried是java的注解吗_@autowire注入为null
- win10安装CUDA和cuDNN详解
- 基于JavaEE的学生信息管理(选课)系统论文
- 商品信息SKU数据库设计
- 2017onsite比赛游记帖
- Django优化(减少数据库查询次数)---select_related和prefetch_related的使用
- 浏览器不支持 flash 插件
- cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-1y7gm6kn\opencv\modul
- FFmpeg windows 录屏(录像)录音 实测
- python os.path.abspath()与os.path.realpath()区别
- node+express 搭建商城项目(2-建立 Mysql链接 完成注册账号接口)