- 博客(9)
- 收藏
- 关注
原创 制定TreeSet排序的几种方法
一、对int、String类型进行降序输出1、存储int类型时public static void main(String[] args) { TreeSet<Integer> intSet = new TreeSet<>(); intSet.add(23); intSet.add(68); intSet.add(33); intSet.add(15); intSet.add(2
2021-10-12 10:19:05
1823
原创 冒泡排序、快排、堆排序以及归并排序的Java实现
前言:本文以升序排序为例讲解了几种排序算法的java实现,建议读者先了解各种排序算法的原理先,然后结合原理来读取本文的代码,效果更佳。由于多次使用到交换数组中的两个元素的值,故先实现交换函数://交换数组中两个元素private static void swap(int[] arr, int a, int b) { int t = arr[a]; arr[a] = arr[b]; arr[b] = t; }一、冒泡排序/**
2021-09-12 22:05:53
273
原创 java中比较器Comparator的使用(结合PriorityQueue)
上期我们简单的介绍了下java中的排序接口Comparable的使用,由于Comparable是不够灵活的一种排序接口,它要去修改对象的类的代码。所以,我们今天介绍一款较为灵活的比较器接口Comparator。首先,还是创建一个实体类Person2:public class Person2 { private int age; private String name; private int xuehao; public Person2() { }
2021-07-15 10:51:28
2303
3
原创 java中Comparable的使用
Comparable是个排序接口,若一个类实现了该接口,那么该类的数组和列表就可以通过Collections.sort或Arrays.sort进行自动排序。该接口中的只有一个compareTo(T o)方法:public interface Comparable<T> { public int compareTo(T o);}实现该接口的类通过重写该方法来定义该类的排序方式;下面我们就通过一个简单的例子来了解下该类的使用。首先我们定义一个没有实现该方法的实体类Person
2021-07-14 10:54:03
10198
原创 使用java实现冒泡排序,快速排序和堆排序
本文主要是介绍下怎么使用java代码实现冒泡排序,快速排序和堆排序。但由于时间关系,具体原理后续有时间在进行充。(注:本文以升序为例)一、实现方法由于这几种排序方法要频繁使用到交换,所以我们先写一个用于交换数组中两个元素的方法:public static void swap(int[] arr, int a,int b){//交换数组中下标为a和b的两个元素 int t = arr[a] ; arr[a] = arr[b]; arr[b] = t
2021-07-13 15:35:51
399
原创 java中常用的几种队列介绍
一、前言本文主要介绍下常见的几种实现队列的数据结构。首先我们看下百度百科中对队列的介绍:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。简单的来说,队列是一种固定了出入口(固定了入口和出口的位置)的容器,这种特性使得它具有先进先出的特点。下图是我个人通过阅读源码对几种接口和类作出的一个关系图。二、常用的队列1、Queue (.
2021-07-13 12:20:00
3546
原创 浅谈Thread实现ThreadLocal原理
前言在java多线程场景中,ThreadLocal是一个比较重要的点。它可以使线程在线程拥有一个独立的变量副本,使得每个线程对变量操作是独立的、互不影响的。zhe
2021-06-17 20:23:10
157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人