SortNew (FloatNamedArraylist function): Difference between revisions
(Created page with "<span style="font-size:120%; color:black"><b><section begin=dpl_desc/>Sort FloatNamedArraylist, return Arrayli<section end=dpl_desc/></b></span> [[Category:FloatNamedArraylist me...") |
m (1 revision) |
(No difference)
|
Revision as of 18:18, 5 January 2011
<section begin=dpl_desc/>Sort FloatNamedArraylist, return Arrayli<section end=dpl_desc/>
SortNew is a member of the FloatNamedArraylist class.
This function sorts the method object FloatNamedArraylist and returns the sorted result in a new Arraylist. The sort is based on one or more sort criteria which consist of a sorting direction (ascending or descending) paired with a sort key (a function that gets applied to each FloatNamedArraylist item). Each sort criterion pair is a SortOrder object, and multiple pairs are a SortOrder collection.
The sort key function that gets applied to each FloatNamedArraylist item, which you identify in the SortNew parameter, must operate on the item type and return a User Language intrinsic datatype (Float, String, Longstring, or Unicode) value. The values returned by the function are sorted into ascending or descending order to determine the position of their associated item in the new Arraylist.
The system intrinsic classes are discussed in "Intrinsic classes".
Syntax
%arlnew = %fnamrayl:SortNew(sortCriteria)
Syntax Terms
- %arlnew
- An Arraylist object to contain the sorted %fnamrayl items.
- %fnamrayl
- The input FloatNamedArraylist object.
- sortCriteria
- One or more SortOrder objects, which consist of an ordering direction for
the sort and a key to sort by, specified in the form: order(key).
The order is either Ascending or Descending, and
the key is a function that is applied to each item in the Arraylist.
For example:
%alist = %fnamray:sortnew(descending(length))
The function is a method value (a method or class member name literal, or a method variable) for a method that operates on objects of the type specified on the %fnamrayl declaration and that returns a numeric or string value. This is described further in "Specifying a SortOrder's sort key method".
Usage Notes
- If the function applied by SortNew returns string values, SortNew uses the decimal-equivalent value of the character bytes to determine the ascending or descending alphabetic order of the associated FloatNamedArraylist items. In ascending order, the highest or last lowercase letter is “z”; the highest or last uppercase letter is “Z”; “z” ranks lower than all the uppercase letters; and all letters rank lower than any number.
- If two or more FloatNamedArraylist items have equal values after all sort criteria are applied, SortNew returns them in the same order in which they appear in the input FloatNamedArraylist.
- The function in the parameter for SortNew is a method value, not a User Language expression. That is, you cannot provide a function that itself has an argument (say, Char(13)) as the SortNew parameter.
- As of Sirius Mods version 7.6, the default sortCriteria argument is the SortOrder Ascending(This), where This is the identity function described further in "Using the This function as the Maximum parameter". Therefore, %fnamrayl:sortnew(ascending(this) can be specified simply as %fnamrayl:sortnew. See the SortNew example.
Usage Notes
- The example in the UnicodeNamedArraylist class article shows a SortNew call with a UnicodeNamedArraylist method object.