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相关推荐

  1. Java学习---day14_集合框架03

    Java学习-day14_集合框架03 Set集合 Set集合中,没有下标的概念 Set集合,是一个去重复的集合.在Set集合中不会添加重复的元素的 在向一个Set集合中添加元素的时候,会先判断这个元 ...

  2. Java集合框架之四大接口、常用实现类,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  3. hashtable允许null键和值吗_【29期】Java集合框架 10 连问,你有被问过吗?

    点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 首先要说一下,本文对这些Java集合框架的面试题只做了一个总结式的回答,对每一道题目,都值得深入去了解一下(什么是扎 ...

  4. JavaEE学习笔记-(2)java集合框架

    JCF:java集合框架 Collection:单值类型集合 1.List 类型 底层实现 ArrayList(数组元素个数) 数组 LinkedList() 链表 Vector(数组元素个数,步长) ...

  5. Java集合框架综述,这篇让你吃透!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:平凡希 cnblogs.com/xiaoxi/p/60899 ...

  6. 【Java集合框架】ArrayList类方法简明解析(举例说明)

    本文目录 1.API与Java集合框架 2.ArrayList类方法解析 2.1 add() 2.2 addAll() 2.3 clear() 2.4 clone() 2.5 contains() 2 ...

  7. Java集合框架的知识总结(1)

    Java集合框架的知识总结(1) 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量). Java的集合类主要由两个接口派生而出:Collection和Map,Collec ...

  8. java集合框架史上最详解(list set 以及map)

    title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...

  9. 【Java集合源码剖析】Java集合框架

    2019独角兽企业重金招聘Python工程师标准>>> Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组.链表.栈.队列.集合.哈希表等.学习Java集 ...

最新文章

  1. 【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍
  2. 如何编写webService接口
  3. matlab 图像读取默认值,实验一MATLAB数字图像处理
  4. linux 没有线程的,,Linux 到现在还是没有线程呀?
  5. Centos 7换源
  6. 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
  7. ssms没有弹出服务器验证_使用SSMS扫描和查找SQL Server数据库的潜在安全漏洞
  8. 4-1k近邻算法(k-Nearest Neighbors)
  9. matlab计算复活节概率,复活节日期的计算方法
  10. aotuwried是java的注解吗_@autowire注入为null
  11. win10安装CUDA和cuDNN详解
  12. 基于JavaEE的学生信息管理(选课)系统论文
  13. 商品信息SKU数据库设计
  14. 2017onsite比赛游记帖
  15. Django优化(减少数据库查询次数)---select_related和prefetch_related的使用
  16. 浏览器不支持 flash 插件
  17. cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-1y7gm6kn\opencv\modul
  18. FFmpeg windows 录屏(录像)录音 实测
  19. python os.path.abspath()与os.path.realpath()区别
  20. node+express 搭建商城项目(2-建立 Mysql链接 完成注册账号接口)

热门文章

  1. 关于Spring 声明式事务处理时,throws exception不回滚的问题
  2. C 语言运算符优先级
  3. VMware上的ubuntu14.04与win7共享文件夹
  4. 【快乐水题】594. 最长和谐子序列
  5. SpringBoot中请求映射的原理(源码)
  6. S5PV210开发 -- QT4.8 移植
  7. go int 转切片_DW-Go语言编程-Task06-数组、切片
  8. 汇编语言LENGTHOF运算符:计算数组中元素的个数
  9. Algorand协议详解
  10. java控制一次传10条数据_java 定时同步数据的任务优化