- 浏览: 81637 次
- 性别:
- 来自: 上海
最新评论
-
zhangyou1010:
以前项目里面的功能,我基本都是用java 程序去实现,最近才发 ...
Oracle学习笔记(一) -
addison110:
不争而善胜:孙子兵法有云,不胜在己,胜在彼。其实相对于自然,社 ...
读老子(三) -
doylecnn:
Last-in-first-out也就是先进先出的模式???
Android学习笔记(二)
这里我没有专注于排序算法,而是写了一个MyString类,实现了comparable的接口,然后用Arrays的sort方法来实现排序。我觉得这道题的难度在于如果比较两个。因为大小写的关系,实现起来有点复杂。
这是类一
- import java.util.Arrays;
- /*1.对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中,
- 字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day”
- 能够排序成 “Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“little”,“Hello”,
- 也就是说,在排序的过程并不是传统的按照字符串排序,在排序中还需要将小写字母一并排序,
- 也就是说a字符串要在B或b之前。*/
- public class LetterSort {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String[] str = { "dad",
- "bOod",
- "bada","Admin","Good","aete","cc","Ko","Beta","Could"};
- MyString[] strcompare = new MyString[str.length];
- for(int i = 0;i<str.length;i++){
- strcompare[i] = new MyString(str[i]);
- }
- Arrays.sort(strcompare);
- for(MyString string:strcompare){
- System.out.println(string);
- }
- }
- }
实现接口的MyString
- /*这个类是封装了一个String。实现Comparable接口。这样使得可以用Arrays的sort方法进行排序*/
- public class MyString implements Comparable<MyString> {
- private String string;
- public void setString(String string) {
- this.string = string;
- }
- public String getString() {
- return string;
- }
- //构造方法
- public MyString(String string){
- this.string = string;
- }
- //比较
- public int compareTo(MyString other) {
- // TODO Auto-generated method stub
- char[] thisarr = this.string.toCharArray(); //存储被包装 字符串的字符数组
- char[] otherarr = other.getString().toCharArray(); //存储要比较的字符串的字符数组
- /*取得循环次数,为两个字符串的长度的最小值*/
- int iterate = thisarr.length<otherarr.length?thisarr.length:otherarr.length;
- boolean mlowercase; //记录被封装的字符串循环到的字符是否为小写
- boolean olowercase; //记录要比较的字符串循环到的字符是否为小写
- char thisletter; //记录被封装的字符串循环到的字符
- char otherletter; //记录要比较的字符串循环到的字符
- /*字符串相等,则返回0*/
- if(this.getString().equals(other.getString())){
- return 0;
- }
- /*循环字符串,做比较*/
- for(int i=0;i<iterate;i++){
- mlowercase = this.isLowercase(thisarr[i]);
- olowercase = this.isLowercase(otherarr[i]);
- /*把比较字符变成大写*/
- thisletter = mlowercase?(char)(thisarr[i]-32):thisarr[i];
- otherletter = olowercase?(char)(otherarr[i]-32):otherarr[i];
- /*比较*/
- if(thisletter!=otherletter){ //比较字母大小,不相等,则取差值,字母小的在前面
- return (thisletter-otherletter);
- }else{ //字母的大写形式相同
- if(mlowercase == olowercase){ //此位置大小写形式相同,判断下一个字符;
- continue;
- }else if(mlowercase){ //被封装的字符为小写,则返回负值
- return 32;
- }else if(olowercase){ //比较字符串的字符为小写,则返回正直
- return -32;
- }
- }
- }
- /*如果循环好之后还分不出大小,则小的排在后面*/
- return (thisarr.length<otherarr.length?-1:1);
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return string;
- }
- //通过码值,来判断字符是否为小写字母
- private boolean isLowercase(char ch){
- if((int)ch >=97 && (int)ch<=122){
- return true;
- }else{
- return false;
- }
- }
- }
发表评论
-
不用循环Copy数组的方法
2011-11-17 21:54 1026arraycopy(Object src, int ... -
Java.lang.AbstractStringBuilder源代码笔记
2011-11-17 21:45 34351,子类有StringBuffer和StringBuilder ... -
读String源代码笔记
2011-11-12 22:10 11321,数字可以转换成其他的进制的字符串时,能够使用Inte ... -
Tomcat(三)
2010-03-31 10:47 11479.Context.XML 这个文件主 ... -
oracle学习笔记(十八)
2010-03-30 20:11 919110)谈到分区的作用。我想有点意识的人都会明白。把一 ... -
Tomcat学习笔记(二)
2010-03-24 09:10 13466 . <Manager className=&quo ... -
Oracle学习笔记(十七)
2010-03-21 13:41 1076103). Date,TimeStamp,Interval ... -
Oracle学习笔记(十六)
2010-03-20 19:43 89597.NLS(National Languag ... -
Tomcat学习笔记(一)
2010-03-18 15:50 15471。多个Tomcat实例 To have one ... -
Oracle学习笔记(十五)
2010-03-14 19:12 79896 本来想要继续写索引,但是发觉由于没有一些主观上的认识。写 ... -
Oracle学习笔记(十四)
2010-03-12 23:39 68692.索引。 对于索引。其实我了解的并不是很多。只是单单的知 ... -
Oracle学习笔记(十三)
2010-03-07 20:59 76087.堆组织表 看完了这些介绍之后,我 ... -
Oracle学习笔记(十二)
2010-03-04 22:36 120680。表的类型 1.堆组织表(heap organized ... -
oracle学习笔记(十一)
2010-02-28 18:36 75576. 关于零时表的Undo和Redo。直接写结论吧 ... -
Oracle学习笔记(十)
2010-02-25 22:23 85770 Redo和Undo Redo和Undo从字面 ... -
想在上海地区找份工作
2010-02-24 21:53 72我会的都已经记录在这里。具体要求可以看看我的 ... -
Oracle学习笔记(九)
2010-02-20 22:40 88066,事务。其实在数据库中,事务的作用毋庸置疑。在这 ... -
Oracle学习笔记(八)
2010-02-19 15:57 90162,并发与多版本: 觉得这是数据库永恒的主题。一个数据的高低 ... -
Oracle学习笔记(七)
2010-02-17 18:42 96656 阻塞: 这一段没有看得太明白。但是也不是云里雾 ... -
Oracle学习笔记(六)
2010-02-15 10:09 89452 锁: 其实锁是每个数据库用于处理并发问题的一种 ...
相关推荐
"首字母排序选择"这个主题可能是指在微信小程序中实现的一种功能,即对数据进行首字母排序,以便用户可以更高效地查找和浏览信息。这在处理大量条目时尤其有用,例如在联系人列表、商品目录或任何需要分类检索的数据...
以下是实现英文字母排序的一种可能的方法: 1. 定义一个字符串变量,存储待排序的英文字母序列。 2. 使用易语言的“字符串分割”函数,将字符串分解成字符数组。 3. 应用冒泡排序或快速排序等算法对字符数组进行...
在XML布局文件中,你需要设计两种类型的列表项:一种是正常的联系人列表项,另一种是字母栏的列表项。在getView()方法中,根据数据类型返回不同的视图。 六、实现逻辑 1. 初始化ListView,并设置自定义Adapter。 2....
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。本教程将深入讲解如何实现一个按字母排序的ListView,并提供快速定位到特定字母的功能。这一特性常见于通讯录应用,用户可以通过点击字母栏...
在这里,我们将利用它来创建一种视觉指示器,以显示每个字母的分隔符,使得用户可以快速定位到特定字母开头的条目。 1. **创建自定义ItemDecoration** 首先,我们需要创建一个类,实现`RecyclerView....
标题“SQL按拼音首字母排序”以及描述中的关键词“SQL按拼音排序”,指向了一种特殊的数据排序需求:在数据库中,针对包含中文字符的字段,按照中文拼音的首字母进行排序。这在处理大量含有中文名称、地点等信息的...
在安卓平台上,对通讯录进行A-Z字母排序索引是一种常见的功能实现,它方便用户快速查找和定位联系人。这个压缩包文件“安卓A-Z字母排序索引相关-通讯录按首字母排列关键字查找.rar”可能包含了一系列示例代码或教程...
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。在某些应用场景中,我们可能需要为ListView添加字母索引功能,以便用户可以快速定位到特定的数据项。本篇文章将详细讲解如何在Android中实现...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务和应用程序之间的数据传输。在某些场景下,我们可能需要按照JSON对象(JSONObject)中的键(key)的字母顺序来排列键值对,例如为了...
字典序(Lexicographic Order)...总的来说,字典序是一种强大的工具,它使得数据排序和查找变得有序且可预测,提高了算法的效率和实用性。在处理字符串和序列数据时,理解并熟练运用字典序是提升编程技能的重要一步。
"listview按字母排序"是指在ListView中对包含中文名称的item进行按首字母的字母顺序排列,并且通常还会提供一个字母索引栏,用户可以通过点击索引栏快速跳转到相应首字母的区域。下面将详细介绍如何实现这一功能。 ...
- **MACRO宏定义**:程序开头使用了`AT2 MACRO`来定义了一个宏,这在汇编语言中是一种常见的代码复用方式。宏定义可以帮助简化重复的代码段,提高代码的可读性和可维护性。 - **寄存器操作**:汇编语言中的指令...
在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。当数据量大且包含各种不同的首字母时,为了提高用户体验,通常会实现字母索引功能,让用户能快速定位到所需内容。"android listView字母排列...
在IT行业中,首字母排序(Alphabetical Sorting)是一种常见的数据组织方法,特别是在处理列表或数组等数据结构时。这个概念简单易懂,即按照字母表的顺序对元素进行排列,从A到Z,或者在中文环境中,从“啊”到“ ...
这是基于ASCII码或Unicode编码的一种排序方式,通过比较字符串的第一个字符来决定顺序。在编程语言中,如Java、Python或C#,我们可以使用内置的排序函数或者自定义比较函数来实现这一功能。例如,Python的`sorted()`...
HTML5是一种强大的网页开发语言,它为创建交互性和富媒体的网页提供了许多新的特性。在本文中,我们将探讨如何利用HTML5实现一个仿手机通讯录的功能,包括按字母排序和搜索功能。 首先,我们需要理解HTML5的核心...
对于“手机通讯录按照字母排序点击找到联系人”这个功能,实现方式可能如下: 1. **数据结构**:首先,你需要一个包含所有联系人信息的数据结构,每个联系人对象至少包含姓名字段。在Vue实例中,可以将这些数据绑定...
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。本示例源码“Android应用源码之带有拼音首字母排序的listview”着重于如何在ListView中实现基于拼音首字母的排序功能,这在中文应用中非常...
标题和描述中提到的“类似通讯录字母排序”是指在数据管理或应用界面设计中,常见的一种组织和检索数据的方法,类似于手机通讯录中的字母快速导航功能。这种功能允许用户按照字母顺序快速查找和访问姓名或其他标识符...
在IT领域,排序是一种基本且重要的操作,尤其在数据处理、数据库管理以及算法设计中扮演着核心角色。本文将深入探讨“按照字母顺序进行排序”的概念、应用和实现方法。 一、排序概述 排序,简单来说,就是将一组...