c compareto的用法(compare to与compare with的区别)

admin 361 0

很多朋友对于c compareto的用法和compare to与compare with的区别不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

一、java中的string用法

java中的string用法,可以到java api查找方法的使用方式:

publicstaticvoidmethod_Zhuanhuan_Qukong_Bijiao()

//打印结果是:(hello和java前后门都有空格)hellojava

//打印结果是:(HELLO和JAVA前后门都有空格)HELLOJAVA

//打印及结果是:不带空格的“hellojava”

//比较数的大写,打印结果是:1,因为b对应ascii值是98,

//打印结果是:cdef,从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界。

//打印结果是:cd,包含头,不包含尾。

publicstaticvoidmethod_split()

Strings="zhangsan,lisi,wangwu";

for(intx=0;x<arr.length;x++)

publicstaticvoidmethod_replace()

//Strings1=s.replace('a','n');

//Strings1=s.replace('w','n');如果要替换的字符不存在,返回的还是原串

Strings1=s.replace("java","world");//打印结果是:helloworld

sop("s="+s);//打印结果是:hellojava因为字符串一旦被初始化,值就不可被改变

sop("s1="+s1);//打印结果是:hellojnvn

publicstaticvoidmethod_trans()

char[]arr={'a','b','c','d','e','f'};

for(intx=0;x<chs.length;x++)

sop("ch="+chs[x]);//打印结果是:ch=z,x,c,v,b,n,m

//判断文件名称是否是Array单词开头

//判断文件名称是否是.java的文件

//sop(str.charAt(40));当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException(字符串角标越界异常)

//sop(str.indexOf('a'));

sop(str.indexOf('a',3));//打印的是5,因为角标3是d,

//所以从d后面开始找a,第5个角标是a

//sop(str.indexOf('t',3))打印:-1,如果没有找到角标,返回-1

//反向索引一个字符出现的位置(从右往左查找,但是角标还是从左开始)

publicstaticvoidmain(String[]args)

method_Zhuanhuan_Qukong_Bijiao();

publicstaticvoidsop(Objectobj)

二、HashSet和TreeSet的用法

==========================他们的区别===========================

1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key

2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.

3. hashCode和equal()是HashMap用的,因为无需排序所以只需要关注定位和唯一性即可.

a. hashCode是用来计算hash值的,hash值是用来确定hash表索引的.

b. hash表中的一个索引处存放的是一张链表,所以还要通过equal方法循环比较链上的每一个对象

才可以真正定位到键值对应的Entry.

c. put时,如果hash表中没定位到,就在链表前加一个Entry,如果定位到了,则更换Entry中的value,并返回旧value

4.由于TreeMap需要排序,所以需要一个Comparator为键值进行大小比较.当然也是用Comparator定位的.

a. Comparator可以在创建TreeMap时指定

b.如果创建时没有确定,那么就会使用key.compareTo()方法,这就要求key必须实现Comparable接口.

c. TreeMap是使用Tree数据结构实现的,所以使用compare接口就可以完成定位了.

=====================================他们的用法======================

//java中Set的使用(不允许有重复的对象):

public static void main(String[] args)

HashSet hashSet=new HashSet();

System.out.println(hashSet.size());

String cz=hashSet.add(c)?"此对象不存在":"已经存在";

System.out.println("测试是否可以添加对象"+cz);

System.out.println(hashSet.isEmpty());

//测试其中是否已经包含某个对象

System.out.println(hashSet.contains("A"));

Iterator ir=hashSet.iterator();

System.out.println(ir.next());

System.out.println(hashSet.remove("a"));

System.out.println(hashSet.remove("A"));

//经过测试,如果你想再次使用ir变量,必须重新更新以下

System.out.println(ir.next());

*通过这个程序,还可以测试树集的添加元素的无序性与输出的有序性

public static void main(String[] args)

Iterator iter= tree.iterator();

System.out.println(iter.next());

以上就是他们的区别和用法,重在理解,多用,祝你成功

三、C# 的 CompareTo 怎么用

String.CompareTo方法将此实例与指定的对象或String进行比较版,二者相对值的指示。

if(s.CompareTo("upload")!= 1)就是将S与upload相比较,如果相同则返回假,如果不同则返回真。

CompareTo这是字符串比较的函数,用法:

当s1>s2时,s1.CompareTo(s2)==1

当s1=s2时,s1.CompareTo(s2)==0

当s1<s2时,s1.CompareTo(s2)==-1

public int compareTo(IntegeranotherInteger)在数字上比较两个Integer对象。

anotherInteger-要比较的 Integer。

返回值:如果该 Integer等于 Integer参数,则返回 0值;如果该 Integer在数字上小于 Integer参数,则返回值-1;如果 Integer在数字上大于 Integer参数,则返回整数1。

参考资料来源:百度百科-compareTo

四、IsDirectory( )的用法

java中的isDirectory()是检查一个对象是否是文件夹。返回值是boolean类型的。如果是则返回true,否则返回false。

调用方法为:对象.isDirectory()无需指定参数。

其实这些东西你要会查jdk api才好。那上面什么都有。好好利用。

另外这里有个相关的例子,关于文件操作的,你可以参考参考:

* Created by IntelliJ IDEA.<br>

*<b>User</b>: leizhimin<br>

*<b>Date</b>: 2008-7-18 22:43:44<br>

*<b>Note</b>:文件排序,按照先目录后文件方式排

public class FileComparator implements Comparator<File>{

public int compare(File o1, File o2){

if(o1.isDirectory()&& o2.isDirectory()) return o1.compareTo(o2);

else if(o1.isDirectory()&&!o2.isDirectory()) return-1;

else if(!o1.isDirectory()&& o2.isDirectory()) return 1;

else return o1.compareTo(o2);

import java.text.SimpleDateFormat;

import java.text.NumberFormat;

* Created by IntelliJ IDEA.<br>

*<b>User</b>: leizhimin<br>

*<b>Date</b>: 2008-7-18 22:02:30<br>

*<b>Note</b>:模拟dir测试的例程

public static DateFormat df= new SimpleDateFormat("yyyy-MM-dd HH:mm");

public static void main(String args[]){

System.out.println("----------test()----------");

File file= new File("F:\\SOFT_DEV");

// System.out.println(File.pathSeparator);

// System.out.println(File.pathSeparatorChar);

// System.out.println(File.separator);

// System.out.println(File.separatorChar);

FileComparator fc= new FileComparator();

Arrays.sort(lf, fc);//数组排序

String dataStr= df.format(new Date(f.lastModified()));

System.out.print(dataStr+"<DIR>");

System.out.print(dataStr+""+工程

getFormatString(String.valueOf

System.out.println(""+ f.getName());

public static String getFormatString(String s){

StringBuilder sb= new StringBuilder();

for(int n= 1; n<= nb; n++){

return sb.append(s).toString();

五、c[i].compareTo(c[j])表示什么意思

c[i].compareTo(c[j])表示在Java语言中比较c[i]对象和c[j]对象的大小,一般用于数组排序,

其中的对象可以是Byte,Double,Integer,Float,Long或Short六个基本数据类的对象,

也可以是其它类(这个类实现了Comparable接口并重写了compareTo方法)的对象.

如果对象c[i]与对象c[j]相等则返回0.

如果对象c[i]小于对象c[j]则返回-1.

如果对象c[i]大于对象c[j]则返回 1.

如果数组c的元素是字符串用compareTo比较则与上面不同,

1当两个比较的字符串是英文且长度不等时

(1)长度短的与长度长的字符一样,则返回的结果是两个长度相减的值.

(2)长度不一样且前几个字符也不一样,从第一位开始找,当找到不一样的字符时,则返回的值是这两个字符比较的值.

2当两个比较的字符串是英文且长度相等时

(1)每个字符串有一个字符时,返回的值是这两个字符比较的值.

(2)每个字符串有多个字符时,返回的值是这两个字符串中第一个不同字符的比较的值.

OK,关于c compareto的用法和compare to与compare with的区别的内容到此结束了,希望对大家有所帮助。