小编Ada*_*son的帖子

Java:TreeSet和LinkedList的问题

我有一个未分类的链表.为了对它进行排序,我想我会将值放入一个带有比较器的TreeSet中,然后将这些值作为新的链表返回.然而,它失败了.

比较:

public class SortSpeciesByCommonName implements Comparator<Species> {

    /**
     * a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second. 
     */
    @Override
    public int compare(Species arg0, Species arg1) {
        return arg0.getName().compareTo(arg1.getName()); //arg.getName() is String
    }

}
Run Code Online (Sandbox Code Playgroud)

排序功能:

public static LinkedList<Species> sortedAnimals(LinkedList<Species> animals) {
    TreeSet<Species> sortedBreeds = new TreeSet<Species>(new SortSpeciesByCommonName());
    sortedBreeds.addAll(animals);
    return new LinkedList<Species>(sortedBreeds);
}
Run Code Online (Sandbox Code Playgroud)

测试值时,一切似乎仍处于插入顺序.

java sorting linked-list comparator treeset

0
推荐指数
1
解决办法
1474
查看次数

数组实例化

你能帮我解决这个问题吗?

问题:给出以下数组声明

double readings[];
String urls[];
TicketMachine[] machines;
Run Code Online (Sandbox Code Playgroud)

编写完成以下任务的作业:

  • 使readings变量引用一个能够容纳60个double值的数组
  • 使urls变量引用一个能够容纳90个String对象的数组
  • 使machines变量引用一个能够容纳五个TicketMachine对象的数组

我的答案:

//declare and instantiate object

double readings [] = new double [60];

String urls [] = new String [90];

TicketMachine machines [] = new TicketMachine [5];
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

Main.java:16: readings is already defined in main(java.lang.String[])

double readings [] = new double [60];
       ^

Main.java:17: urls is already defined in main(java.lang.String[])

String urls [] = new String [90]; …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
4万
查看次数

重新排列序列

我无法重新排列序列,因此给定原始序列中的字母数量在随机生成的序列中是相同的.例如:

如果我有一个字符串'AAAC'我需要随机重新排列字符串,所以A和C的数量是相同的.

python random

0
推荐指数
1
解决办法
260
查看次数

编写一个可怕的SQL搜索查询

我正在开发一个似乎不起作用的搜索查询.完整的查询是:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[usp_Item_Search]
    @Item_Num varchar(30) = NULL
    ,@Search_Type int = NULL
    ,@Vendor_Num varchar(10) = NULL
    ,@Search_User_ID int = NULL
    ,@StartDate smalldatetime = NULL
    ,@EndDate smalldatetime = NULL
AS
DECLARE @SQLstr as nvarchar(4000)

Set @SQLstr = 'SELECT RecID, Vendor_Num, Vendor_Name, InvoiceNum, Item_Num, 
(SELECT CONVERT(VARCHAR(11), RecDate, 106) AS [DD MON YYYY]) As RecDate, NeedsUpdate, RecAddUserID FROM [tbl_ItemLog] '

IF (@Item_Num IS NOT NULL)  
    Begin
        If @Search_Type = 0
            BEGIN
                Set @SQLstr = @SQLstr + …
Run Code Online (Sandbox Code Playgroud)

t-sql search sql-server-2005

0
推荐指数
1
解决办法
59
查看次数