Java实现按照大小写字母顺序排序的方法

本文实例讲述了Java实现按照大小写字母顺序排序的方法。分享给大家供大家参考,具体如下:

这里排序需要得到的结果按字母顺序。如:a-----z...

import java.util.*;
/**
 * 大小写字母的排序
 * @author Administrator
 *
 */
public class z {
 //上边是按大写在后的进行排序
 static Map<Character,Float> map=new HashMap<Character,Float>();//hashMap允许null值
 //按大写在前的进行排序
 static Map<Character,Float> map1=new HashMap<Character,Float>();//hashMap允许null值
 //
 static{
  Character ch;
  for (ch = 65; ch < 91; ch++) {//大写65.0;66.0;67.0;68.0
   map.put(ch,(float)ch.hashCode());
  }
  for (ch = 97; ch < 123; ch++) {//小写64.5;65.5
   map.put(ch,(float)ch.hashCode()-(float)32-0.5f);
  }
  for (ch= 65; ch < 91; ch++) {//大写65.0;66.0;67.0;68.0
   map.put(ch, (float)ch.hashCode());
  }
  for (ch = 97; ch < 123; ch++) {//小写64.5;65.5
   map.put(ch, (float)ch.hashCode()-(float)32+0.5f);
  }
 }
 /**
  * @first 大写在后的数组值在map中找 value的值
  * @second 通过Collections的排序方法得到递增数List
  * @third 反操作map得到char值
  * @param ar要排序的数组
  */
 public List addList(char[] ar){
  List list =new java.util.ArrayList();
  for (int i = 0; i < ar.length; i++) {
   list.add(map.get(ar[i]));
  }
  List lis=new ArrayList();
  Collections.sort(list);
  Iterator it=list.iterator();
  while(it.hasNext()){
   String str=it.next().toString();
   if(str.endsWith(".0")){
    lis.add((char)Float.parseFloat(str));
   }else{
    lis.add((char)(Float.parseFloat(str)+0.5+32));
   }
  }
  return lis;
 }
 /**
  * 大写在前的数组值在map中找value的值
  * @param ar
  * @return
  */
 public List addList1(char[] ar){
  List list=new java.util.ArrayList();
  for (int i = 0; i < ar.length; i++) {
   list.add(map.get(ar[i]));
  }
  List lis=new ArrayList();
  Iterator it=list.iterator();
  while(it.hasNext()){
   String str=it.next().toString();
   if(str.endsWith(".0")){
    lis.add((char)Float.parseFloat(str));
   }else{
    lis.add((char)(Float.parseFloat(str)+0.5-32));
   }
  }
  return lis;
 }
 public static void main(String []args){
  System.out.println("我们测试结果:");
  char ch [] ={'A','a','b','f','m','K'};
  List list=new z().addList(ch);
  Iterator it=list.iterator();
  while(it.hasNext()){
   System.out.println(it.next()+",");
  }
 }
}

运行结果:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • 堆排序实例(Java数组实现)

    堆排序:利用大根堆 数组全部入堆,再出堆从后向前插入回数组中,数组就从小到大有序了. public class MaxHeap<T extends Comparable<? super T>> { private T[] data; private int size; private int capacity; public MaxHeap(int capacity) { this.data = (T[]) new Comparable[capacity + 1]; size =

  • Java排序算法之归并排序简单实现

    算法描述:对于给定的一组记录,首先将每两个相邻的长度为1的子序列进行归并,得到 n/2(向上取整)个长度为2或1的有序子序列,再将其两两归并,反复执行此过程,直到得到一个有序序列. package sorting; /** * 归并排序 * 平均O(nlogn),最好O(nlogn),最坏O(nlogn);空间复杂度O(n);稳定;较复杂 * @author zeng * */ public class MergeSort { public static void merge(int[] a,

  • Java分治归并排序算法实例详解

    本文实例讲述了Java分治归并排序算法.分享给大家供大家参考,具体如下: 1.分治法 许多有用的算法在结构上是递归的:为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关的若干子问题.这些算法典型地遵循分治法的思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解. 分治模式在每层递归时都有三个步骤: (1)分解原问题为若干子问题,这些子问题是原问题的规模较小的实例. (2)解决这些子问题,递归地求解各子问题.然而,

  • Java编程实现直接插入排序代码示例

    算法描述:对于给定的一个数组,初始时假设第一个记录自成一个有序序列,其余记录为无序序列.接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列中为止. 直接插入排序Java实现教程 示例1 public class Insert { public static void main(String[] args) { int a[] = {9,3,28,6,34,7,10,27,1,5,8}; show(a); for (int i=1;i

  • 基数排序简介及Java语言实现

    基本思想 基数排序(RadixSort)是在桶排序的基础上发展而来的,两种排序都是分配排序的高级实现.分配排序(DistributiveSort)的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n). 基数排序是一种稳定的排序算法,但有一定的局限性: 1.关键字可分解. 2.记录的关键字位数较少,如果密集更好 3.如果是数字时,最好是无符号的,否则将增加相应的映射复杂度,可先将其正负分开排序. 先来看一

  • Java编程实现快速排序及优化代码详解

    普通快速排序 找一个基准值base,然后一趟排序后让base左边的数都小于base,base右边的数都大于等于base.再分为两个子数组的排序.如此递归下去. public class QuickSort { public static <T extends Comparable<? super T>> void sort(T[] arr) { sort(arr, 0, arr.length - 1); } public static <T extends Comparabl

  • Java语言实现基数排序代码分享

    算法思想:依次按个位.十位...来排序,每一个pos都有分配过程和收集过程,array[i][0]记录第i行数据的个数. package sorting; /** * 基数排序 * 平均O(d(n+r)),最好O(d(n+r)),最坏O(d(n+r));空间复杂度O(n+r);稳定;较复杂 * d为位数,r为分配后链表的个数 * @author zeng * */ public class RadixSort { //pos=1表示个位,pos=2表示十位 public static int g

  • Java 堆排序实例(大顶堆、小顶堆)

    堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法.堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点. 堆排序的平均时间复杂度为Ο(nlogn) . 算法步骤: 1. 创建一个堆H[0..n-1] 2. 把堆首(最大值)和堆尾互换 3. 把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到相应位置 4. 重复步骤2,直到堆的尺寸为1 堆: 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:

  • Java实现按照大小写字母顺序排序的方法

    本文实例讲述了Java实现按照大小写字母顺序排序的方法.分享给大家供大家参考,具体如下: 这里排序需要得到的结果按字母顺序.如:a-----z... import java.util.*; /** * 大小写字母的排序 * @author Administrator * */ public class z { //上边是按大写在后的进行排序 static Map<Character,Float> map=new HashMap<Character,Float>();//hashMa

  • Java编程实现汉字按字母顺序排序的方法示例

    本文实例讲述了Java编程实现汉字按字母顺序排序的方法.分享给大家供大家参考,具体如下: String[] str0 = new String[]{"abd","ervcd","sdfc","abdc","sded","生活","文教","政治"}; String[] str1 = new String[]{"生活","

  • 实现单层json按照key字母顺序排序的示例

    最近在做银行项目时遇到一个问题:银行加签名数据必须按照顺序排好,再拼接后加签名,这时候就遇到问题,如何实现JSONObject对象中key-value按照key进行排序: 实现代码如下: <span style="font-size:18px;">import java.util.Iterator; import java.util.SortedMap; import java.util.TreeMap; import net.sf.json.JSONObject; pub

  • php实现数组按拼音顺序排序的方法 原创

    本文实例讲述了php实现数组按拼音顺序排序的方法.分享给大家供大家参考,具体如下: 一.问题: 给定数组要求实现按照其汉字首字母排序: $pinyin = array( array('name'=>'梁朝伟','age'=>23), array('name'=>'andy','age'=>24), array('name'=>'黎明','age'=>19), array('name'=>'郭富城','age'=>20) ); 二.解决方法: <?php

  • java数据结构与算法之桶排序实现方法详解

    本文实例讲述了java数据结构与算法之桶排序实现方法.分享给大家供大家参考,具体如下: 基本思想: 假定输入是由一个随机过程产生的[0, M)区间上均匀分布的实数.将区间[0, M)划分为n个大小相等的子区间(桶),将n个输入元素分配到这些桶中,对桶中元素进行排序,然后依次连接桶输入0 ≤A[1..n] <M辅助数组B[0..n-1]是一指针数组,指向桶(链表).将n个记录分布到各个桶中去.如果有多于一个记录分到同一个桶中,需要进行桶内排序.最后依次把各个桶中的记录列出来记得到有序序列. [桶-

  • PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法

    本文实例讲述了PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法.分享给大家供大家参考,具体如下: ICU(International Components for Unicode)里提供了transliterator(直译器), 可以很方便把其他语言(比如简体中文)转为拉丁文表示: http://cn2.php.net/manual/zh/transliterator.transliterate.php Transliterator: allows getting la

  • python读取TXT到数组及列表去重后按原来顺序排序的方法

    本文实例讲述了python读取TXT到数组及列表去重后按原来顺序排序的方法.分享给大家供大家参考.具体如下: #################################################################### # python 读取TXT到数组 列表去重,不打乱原来的顺序 # 刚学写的不好请大家见谅 #################################################################### def open_tx

  • mysql按照自定义(指定顺序)排序的方法实例

    目录 一.mysql中实现指定排序需求 二.解决方案 1:自定义排序实现 01. case when 转换实现自定义排序: 02:mysql排序函数filed 实现自定义排序(推荐): 03:函数locate 实现自定义排序: 04:函数lnstr 实现自定义排序: 05:利用数据字典实现自定义排序: 总结 一.mysql中实现指定排序需求 一般情况下,我们排序都是直接利用 order by 字段 asc/desc;但是如果要排序的字段数据格式并不能直接实现,或者说我们需要指定的顺序且没有什么规

  • Java中对list元素进行排序的方法详解

    在Java Collection Framework中定义的List实现有Vector,ArrayList和LinkedList.这些集合提供了对对象组的索引访问.他们提供了元素的添加与删除支持.然而,它们并没有内置的元素排序支持. 你能够使用java.util.Collections类中的sort()方法对List元素进行排序.你既可以给方法传递一个List对象,也可以传递一个List和一个Comparator.如果列表中的元素全都是相同类型的类,并且这个类实现了Comparable接口,你可

  • 把字符串按照特定的字母顺序进行排序的js代码

    例如,给一个特定的字母顺序,"a","o","e","u","y","i",请把'aiye','oeu','ayo','eoyiu','yuo','you','iao'这7个字符串按照给定的字母顺序排序. 我的思路是把那几个给定的6个字母分别等效成0-5的数字,然后把那7个字符串中的字母替换成0-5中的数字,再用sort方法进行排序,代码如下: 复制代码 代码如下: var word =

随机推荐