(转)Java和JS中String、数组长度的求法

在JS中,字符串类型String和数组类型Array都有一个叫length的长度属性值,可以用[对象名.length]的方式读取出来,这里的length是对象固有的属性,不是方法,因此不用.length(),而是直接用.length。

在Java中,数组是引用数据类型,不是类,因此也是读取固有的length属性得到数组长度,它没有length()方法。但是,java中的String类型是jdk中已经封装好的final类,类就有属性和方法,只是String没有length属性,只有length()方法。

对于字符串数组的排序,有多种方法可供选择。常见的排序方法包括升序、降序、字符长度升序、字符长度降序和随机排列。具体的方法有低位优先键索引排序、高位优先键索引排序、Java自带排序(经过调优的归并排序)、冒泡排序、快速排序和三向快速排序等。 下面是一个示例代码,演示了如何对字符串数组进行排序: ```java String[] ss = {"java", "c", "c++", "go", "rust", "ruby", "javascript", "python", "c#"}; System.out.println("排序前:" + Arrays.toString(ss)); Arrays.sort(ss); System.out.println("升序排序:" + Arrays.toString(ss)); Arrays.sort(ss, (a, b) -> b.compareTo(a)); System.out.println("降序排序:" + Arrays.toString(ss)); Arrays.sort(ss, (a, b) -> a.length() - b.length()); System.out.println("根据字符长度升序排序:" + Arrays.toString(ss)); Arrays.sort(ss, (a, b) -> b.length() - a.length()); System.out.println("根据字符长度降序排序:" + Arrays.toString(ss)); Random aa = new Random(); for (int i = 0; i < ss.length; i++) { int a = aa.nextInt(ss.length); int b = aa.nextInt(ss.length); if (a == b) { --i; continue; } String t = ss[a]; ss[a = ss[b]; ss[b = t; } System.out.println("随机排列:" + Arrays.toString(ss)); ``` 在上述代码,首先创建了一个字符串数组ss,并输出了排序前的数组。然后使用Arrays.sort()方法对数组进行升序排序,并输出排序后的结果。接下来使用自定义的比较器对数组进行降序排序,并输出排序后的结果。然后根据字符串的长度对数组进行升序排序,并输出结果。再根据字符串的长度对数组进行降序排序,并输出结果。最后使用随机数对数组进行洗牌操作,并输出结果。 通过以上代码演示,您可以了解到对字符串数组进行各种不同方式的排序的实现方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【数组String字符串对象“排序常见的排序方法---升序,降序,字符长度升序,字符长度降序,随机(洗牌...](https://blog.csdn.net/qq_62124267/article/details/131711079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [6种字符串数组的java排序 (String array sort)](https://blog.csdn.net/starcrm/article/details/89426602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值