list排序

资料搜集-JAVA系统的梳理知识8-JDK8

柔情痞子 提交于 2020-01-23 21:01:37
> 本文由 JavaGuide 翻译,原文地址:https://www.baeldung.com/foreach-java ## 1 概述 在Java 8中引入的*forEach*循环为程序员提供了一种新的,简洁而有趣的迭代集合的方式。 在本文中,我们将看到如何将*forEach*与集合*一起*使用,它采用何种参数以及此循环与增强的*for*循环的不同之处。 ## 2 基础知识 ```Java public interface Collection<E> extends Iterable<E> ``` Collection 接口实现了 Iterable 接口,而 Iterable 接口在 Java 8开始具有一个新的 API: ```java void forEach(Consumer<? super T> action)//对 Iterable的每个元素执行给定的操作,直到所有元素都被处理或动作引发异常。 ``` 使用*forEach*,我们可以迭代一个集合并对每个元素执行给定的操作,就像任何其他*迭代器一样。* 例如,迭代和打印字符串集合*的*for循环版本: ```java for (String name : names) { System.out.println(name); } ``` 我们可以使用*forEach*写这个 : ```java names.forEach

Linux 命令:ls

余生长醉 提交于 2020-01-23 05:13:57
1. ls命令:   list的缩写,查看目录中的文件   ls [选项] [目录名]   dos 命令: dir 2. 常用参数: -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。 -c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序 -C 每栏由上至下列出项目 –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一 -d, –directory 将目录象文件一样显示,而不是显示其下的文件。 -D, –dired 产生适合 Emacs 的 dired 模式使用的结果 -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效 -g 类似 -l,但不列出所有者 -G, –no-group 不列出任何有关组的信息 -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G) –si 类似 -h,但文件大小取 1000 的次方而不是 1024 -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地 –indicator

资料搜集-JAVA系统的梳理知识5-JAVA基础篇&JVM

亡梦爱人 提交于 2020-01-22 21:29:17
<!-- TOC --> - [Collections 工具类和 Arrays 工具类常见方法](#collections-工具类和-arrays-工具类常见方法) - [Collections](#collections) - [排序操作](#排序操作) - [查找,替换操作](#查找替换操作) - [同步控制](#同步控制) - [Arrays类的常见操作](#arrays类的常见操作) - [排序 : `sort()`](#排序--sort) - [查找 : `binarySearch()`](#查找--binarysearch) - [比较: `equals()`](#比较-equals) - [填充 : `fill()`](#填充--fill) - [转列表 `asList()`](#转列表-aslist) - [转字符串 `toString()`](#转字符串-tostring) - [复制 `copyOf()`](#复制-copyof) <!-- /TOC --> # Collections 工具类和 Arrays 工具类常见方法 ## Collections Collections 工具类常用方法: 1. 排序 2. 查找,替换操作 3. 同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) ### 排序操作 ```java void

Java基础方面

这一生的挚爱 提交于 2020-01-21 17:42:58
Java基础方面: 1 、作用域 public,private,protected, 以及不写时的区别 答: 区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 2 、 Anonymous Inner Class ( 匿名内部类 ) 是否可以 extends( 继承 ) 其它类,是否可以 implements( 实现 )interface( 接口 ) 答: 匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3 、 Static Nested Class 和 Inner Class 的不同 答: Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4 、 & 和 && 的区别 答: &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5 、

ArrayList排序sort

 ̄綄美尐妖づ 提交于 2020-01-21 15:10:43
ArrayList排序sort 使用ArrayList的sort(Comparator<?> comparator)进行排序 方法一:list.sort(); /** * 降序排序 */ private ArrayList<BaseItem> sortItem(ArrayList<BaseViewItem> list){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { list.sort((o1, o2) -> { long date1 = 0; long date2 = 0; if (o1 instanceof ViewItem){ ViewItem item = (ViewItem) o1; date1 = Long.valueOf(dateToStamp(item.getDate())); } else { TaskViewItem item = (TaskViewItem) o1; date1 = Long.valueOf(dateToStamp(item.getDate())); } if (o2 instanceof SheetItem){ SheetItem item = (SheetItem) o2; date2 = Long.valueOf(dateToStamp(item.getDate())); }

数字在排序数组中出现的次数--python

夙愿已清 提交于 2020-01-21 09:33:23
#使用二分查找的思想 list = [ 1 , 2 , 3 , 3 , 3 , 3 , 4 , 5 , 6 ] def GetNumberOfK ( list , k ) : if len ( list ) == 0 : return 0 mid = len ( list ) // 2 if list [ mid ] == k : start , end = mid , mid for i in range ( mid , - 1 , - 1 ) : if list [ i ] == k : start -= 1 for i in range ( mid + 1 , len ( list ) ) : if list [ i ] == k : end += 1 return end - start elif list [ mid ] > k : return GetNumberOfK ( list [ : mid ] , k ) else : return GetNumberOfK ( list [ mid + 1 : ] , k ) print ( GetNumberOfK ( list , 4 ) ) 来源: CSDN 作者: 看雨c 链接: https://blog.csdn.net/weixin_45947707/article/details/103858617

HashMap排序题

橙三吉。 提交于 2020-01-20 16:42:51
已知一个 HashMap<Integer,User>集合,User 有 name(String)和 age(int)属性。请写一个方法实现对HashMap 的排序功能,该方法接收 HashMap<Integer,User>为形参,返回类型为 HashMap<Integer,User>,要求对 HashMap 中的 User 的 age 倒序进行排序。排序时 key=value 键值对不得拆散。 public class User { private String name ; private Integer age ; public User ( ) { } public User ( String name , Integer age ) { this . name = name ; this . age = age ; } public String getName ( ) { return name ; } public void setName ( String name ) { this . name = name ; } public Integer getAge ( ) { return age ; } public void setAge ( Integer age ) { this . age = age ; } @Override public String

使用单链表实现数据的排序

纵饮孤独 提交于 2020-01-20 12:42:00
链表插入的主要思路:1.把temp.next域给新节点.next 即 newNode.next=temp.next 2.temp.next指向新节点 即 temp.next=newNode public class LinkList { public static void main(String[] args) { //进行测试 //先创建节点 HeroNode heroNode = new HeroNode(1, "宋江", "及时雨"); HeroNode heroNode2 =new HeroNode(2,"卢俊义","玉麒麟"); HeroNode heroNode3 =new HeroNode(3,"吴用","智多星"); HeroNode heroNode4 =new HeroNode(4,"林冲","豹子头"); //创建要给的链表 LinkedNode linkedNode =new LinkedNode(); linkedNode.addByOrder(heroNode); linkedNode.addByOrder(heroNode4); linkedNode.addByOrder(heroNode2); linkedNode.addByOrder(heroNode2); linkedNode.addByOrder(heroNode3); linkedNode

Java按照自定义list排序数据

末鹿安然 提交于 2020-01-20 07:35:44
自定义list排序数据: public class SortTest { public static void main(String[] args) { List<String> sortList = Arrays.asList("诸葛亮","鲁班","貂蝉","吕布","安其拉","赵云"); List<People> people = new ArrayList<>(); people.add(new People("鲁班","1")); people.add(new People("安其拉","1")); people.add(new People("诸葛亮","1")); people.add(new People("貂蝉","1")); people.add(new People("赵云","1")); List<People> peopleList = people.stream().sorted( Comparator.comparing(People::getName, (x,y)-> sort(sortList,x,y)) ).collect(Collectors.toList()); System.out.println(JSON.toJSON(peopleList)); } private static int sort(List<String>

map排序返回字符串

孤街浪徒 提交于 2020-01-19 17:04:13
package com.p2p.util; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; /** * 集合排序 * @author shamee-loop * */ public class SortUtils { /** * 按英文首字母排序 * @param arrayToSort */ private static String sortStringArray(List<String> arrayList) { System.out.println("字符型数组排序,排序前:"); String result = ""; for (int i = 0; i < arrayList.size(); i++) { System.out.print(arrayList.get(i) + ","); } System.out.println(); System.out.println("排序后:"); // 调用数组的静态排序方法sort,且不区分大小写 // Arrays.sort(arrayToSort, String.CASE