Sorting and CopyOnWriteArrayList

Hi,
Last week I found myself working around the following problem: I have a list of data that is being searched already while new data is still added. Knowing to take care of the dreaded ConcurrentModificationException, I chose the [url http://download.oracle.com/javase/6/docs/api/java/util/concurrent/CopyOnWriteArrayList.html]CopyOnWriteArrayList implementation and I discovered that that class does not play well with Collections.sort():
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public class OTNConcurrentArrayListSorting {
     public static void main(String[] args) {
          List<String> l = new CopyOnWriteArrayList<String>();
          l.add("oracle");
          l.add("java");
          Collections.sort(l);
}leads to:
Exception in thread "main" java.lang.UnsupportedOperationException
     at java.util.concurrent.CopyOnWriteArrayList$COWIterator.set(CopyOnWriteArrayList.java:1013)
     at java.util.Collections.sort(Collections.java:121)
     at OTNConcurrentArrayListSorting.main(OTNConcurrentArrayListSorting.java:12)This came as a surprise to me, but it is documented and after a bit of thinking quite understandable. After all what good is sorting if new elements are added to the list unseen and not taken into account in the sort.
The way I worked around it, is using a binary search to find out where to add the new element and thus keeping the list sorted at all times. Only in preparation of this post, it occurred to me that I'd need the additions to be synchronized for that idea to work, so I ended up with this fragment:
synchronized (revolutions) {
     int i = Collections.binarySearch(revolutions, info);
     if (i < 0) {
          revolutions.add(-(i+1), info);
}I am not unhappy with the solution and it serves the purpose, but still I wonder whether there's a better alternative. Any ideas?

Great suggestion! The list I am maintaining is a sort of index for elements like this, where the number is positive and the interval is a start and end date (the intervals are non overlapping and their sorting goes hand-in-hand with the number):
      * Packs the revolution number and the date range covered by it,
      * while {@link #compareTo(RevolutionInfo)} orders according to the number.
     private static class RevolutionInfo implements Comparable<RevolutionInfo>{
          int number;
          Interval span;
          @Override
          public String toString() {
               return "Revolution "+number+" "+ span.toString();               
          @Override
          public int compareTo(RevolutionInfo o) {
               return number - o.number;
     }I need to support both a search by number to retrieve the Interval of dates (an exact match, will work very well with the HashMap) and a search by date to get the revolution number. The two are now unified in one piece of search code and two different Comparator implementations.
I am already maintaining an underlying datastructure in a HashMap, which I could use to improve the by number lookup-performance. By the way, the main (and measured) performance penalty I am trying to avoid is the following. I have a datastructure SkyMap, one per revolution (we'll reach 1000 in a couple of weeks) which I read from a 2 Mb XML-file (which is 400 maps, benchmarked at ~8 maps per second). In one use case, all the maps are alredy pre-loaded and can be served out of memory. In a much rarer use case, the maps are being loaded and a request (get number for a given date) needs to be handled: it's here that I want to remove the overhead of waiting for the entire file to be processed, but go about the business as soon as the SkyMap covering that date is available.

Similar Messages

  • Reporting Services Error after Interactive sorting and drill down in pps

    Hi 
    i have a report  that has a drill down option that shows all workgroups within a specific  parent group and an interactive sorting ass well on both columns  parent group &  workgroup 
    This is displayed  in pps combined with a SharePoint
    ---the problem is that after sorting the parent group column by name   i then press the drill through icon  (+) next to it hopping to see all workgroups related to each parent group
      - but instead 
    i receive this Reporting Services Error  :
    The value for parameter 'SortItem' is not specified. It is either missing from the function call, or it is set to null. (rsMissingParameter) Get
    Online Help       
    If I don't press the sorting and just drill through it works fine. the sorting itself also works fine. 
    any suggestions ?
     

    Hi Hyaron,
    I am unable to reproduce the issue in my test environment. How did you add the drilldown feature? Were you doing that by setting visibility of the column or of the group? Please ensure to add the drilldown functionality by set the visibility of the workgroup
    from the Grouping Pane in the Report Designer.
    How did you add the Interactive Sorting on the headers of the two columns? Based on the drilldown functionality, the Interactive Sorting on the second column doesn’t work. So, you can move the Interactive Sorting on the second column. When configuring the
    Interactive sorting on the first column, you should set the parent group to sort, and sort by the field that the parent group groups by.
    Hope this helps.
    Regards,
    Mike Yin
    TechNet Community Support

  • HT201303 was just having this problem until today. It is now all sorted and I can explain what to do very simply and easily.

    I was just having this problem until today. It is now all sorted and I can explain what to do very simply and easily.
    I remembered the answers to my questions, I just forgot "EXACTLY" how I entered the text - so I had to have them reset. The easiest way is to sign in through www.appleid.com. Then on the right click the "Manage your Account" link and sign in. Easy so far right. Then, as others have said, look on the left of the screen you will see a link called "Password and Security" - click on this. Now this is where the confusion begins. Some people have a link located directly under the existing questions that looks like this "Forgot your answers? Send reset security info email to blah blah blah email . If you see this click it and it will send an email to the "Rescue Email" address that you entered when you originally entered your answers. Follow the instructions contained in this email and you are done. If you cannot remember this email address or you have since closed it, you will need to go to the Itunes Express lane and send an email to Apple requesting them to reset your answers.
    HOWEVER IF YOU DO NOT SEE A THIS LINK UNDER THE QUESTIONS - this means that you DID NOT enter a Rescue email address when you originally set your questions. The only way you can now reset your Security Questions and Answers is to go to the Itunes Express lane and email Apple asking to have these reset. I have 2 apple accounts, one for myself and one for my daughter - as I did not include a rescue email I had to email apple. On both occasions, these questions were reset and an email sent to me exactly 24 hours after I sent them the request. I entered the new details, WROTE THEM DOWN EXACTLY AS I ENTERED THEM THIS TIME, entered a Rescue Email this time and I am good to go again. Simple. Now when I log in and click on "Password and Security" I do have the reset link visable. Apple support are good, they just take a bit of time to get things done, but they always seem to get there in the end. I just wish someone had taken the time to explain this somewhere else in the forum as it would have saved me much time and angst.
    To get to the Itunes Express Lane go to this website www.appleid.com make sure the correct country is displayed top right, if not change it. Once this is saved go to the tabs at the top of the screen and click Support. Then halfway down the next page you will see a photo of two random people with a title of Contact Apple Support - Click this. Scroll down until you see the itunes logo, to the right of this you will see the link Express Lane for iTunes Player and iTunes Store - click on this. One the right hand side of the next page click on the link "itunes Store". On the next page click the link "Account Management" check the radio button beside "itunes store account security", select your country from the drop down box and click "Continue". Under the heading MORE OPTIONS, you will see a clickable link called email - click this. Fill in your name, Apple ID and country. Then in the text box, write "I have forgotten the answers to my Security questions, would you kindly please reset them. Thank-You". Then Click Continue, you will be given a reference number and an email is sent to your address advising that generally someone will attend to your request within 24 hours. Like I said previously, I had to do this twice and both times it was reset however it was done within about 5 minutes of the 24 hour cut off, so you will have to be patient. I know 100% that this works for Australia - I am guessing other countries should be similar. Hope this helps someone somewhere!

    Standard troubleshooting...
    1. Try a Restart by pressing the sleep/lock button until you see the slider.  Slide to power off.  Restart by pressing the sleep/lock button until you see the Apple logo.
    2. Try a Reset by pressing the home and sleep buttons until you see the Apple logo, ignoring the slider if it comes up. Takes about 5-15 secs of button holding and you won't lose any data or settings.
    3. Remove apps from Recently Used list...
    - From any Home Screen, double tap the home button to bring up the Recents List
    - Swipe up on the app preview card
    - Press the home button when done.
    4. If still a problem restore with your backup.
    5. If still a problem restore as new, i.e. without your backup. See how it runs with nothing synced to it.
    6. If still a problem, it's likely a hardware issue.

  • Problem with sorting and filtering of table

    Hello,
    using VC 7.1 SP5 I have created [this|http://img232.imageshack.us/img232/2460/screenshotsr0.png] model. The webservice returns a collection of structured elements. The table is meant to display values of top-level attributes. This works as expected.
    However, the table cannot be sorted or filtered. What is the reason for this? How can I fix that?
    I tried to store the result of the web service in a data bridge. That did not succeed.
    Best regards
    Alexander

    Hi Natty,
    How are you trying to sort it?
    I want to be able to sort the table by clicking on the table column headers. Furthermore, I want be able to filter the table by using the built-in table feature. However, table sorting and filtering seem to be disabled for this particular table, whereas other tables in my model provide the desired features.
    Best regards
    Alexander

  • Problem with 'sort and filter' feature of embed codes in Excel Online Web App

    So my question has to do with the Excel Online feature where you can share a spreadsheet and embed it in a website with the option of allowing users to sort and filter the data. (The option is under the "Interaction" heading.)
    One of the options if you look closely is "Let people sort and filter" which is not checked off. In the embed code you can see "AllowInteractivity=False". The problem is that when I check "Let people sort and filter"
    the embed code changes completely - going from:
    <iframe width="700" height="900" frameborder="0" scrolling="no" src="https://onedrive.live.com/embed?cid=dontworryaboutitEDFD383&resid=6BAA9620AEDFD383%21107&authkey=AFj3X8xq2U3IfDE&em=2&wdAllowInteractivity=False&Item='Sheet1'!A1%3AI32"></iframe>
    to:
    <iframe width="700" height="900" frameborder="0" scrolling="no" src="https://onedrive.live.com/embed?cid=dontworryaboutitEDFD383&resid=6BAA9620AEDFD383%21107&authkey=AFj3X8xq2U3IfDE&em=2&Item='Sheet1'!A1%3AI32"></iframe>
    If I manually change 'false' to 'true' that doesn't do the trick so I'm not sure what to try next.
    Any thoughts?

    Hi,
    We support Office for Windows in the current forum, since this question is about Office Online, I suggest you post the question in Office Online forum:
    http://community.office365.com/en-us/f/default.aspx
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    George Zhao
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • Using member sorting and grouping with two reports sharing rows

    Hi!
    I have a problem with one report and I need some help or advise here.
    I have two dimensions with dynamic expansion in rows (PRODUCT, MATERIAL), and I use the option Member Sorting and Grouping at Member selector to obtain the total amount of PRODUCT group by PARENTH1:
    PRODUCT               MATERIAL          AMOUNT
    TOTAL PROD_A-X                                   100
    PROD_A_A             MAT1                          22
    PROD_A_B             MAT1                          50
    PROD_A_A             MAT2                          28 
    TOTAL PROD_B-X                                   120
    PROD_B_A             MAT1                          30
    PROD_B_A             MAT2                          50
    PROD_B_B             MAT2                          40
    This works fine if I only have one report, but I need to create another one sharing the row and page axis with the Default Report, when I do that the option Member Sorting and Grouping doesn't work. I really need to have two reports with shared rows and also the summation by PARENTH1, how can I do that?
    Thank you very much

    Hi!
    I have a problem with one report and I need some help or advise here.
    I have two dimensions with dynamic expansion in rows (PRODUCT, MATERIAL), and I use the option Member Sorting and Grouping at Member selector to obtain the total amount of PRODUCT group by PARENTH1:
    PRODUCT               MATERIAL          AMOUNT
    TOTAL PROD_A-X                                   100
    PROD_A_A             MAT1                          22
    PROD_A_B             MAT1                          50
    PROD_A_A             MAT2                          28 
    TOTAL PROD_B-X                                   120
    PROD_B_A             MAT1                          30
    PROD_B_A             MAT2                          50
    PROD_B_B             MAT2                          40
    This works fine if I only have one report, but I need to create another one sharing the row and page axis with the Default Report, when I do that the option Member Sorting and Grouping doesn't work. I really need to have two reports with shared rows and also the summation by PARENTH1, how can I do that?
    Thank you very much

  • Sorting and Grouping in Projects View

    In Projects view, when either of two of the three grouping options is selected, there are two sorts in effect: the groups themselves are sorted, and the contents of each group are sorted. These sorts are handled differently, depending on the grouping selected and the sort order selected.
    (It appears that there is a bit of the old Apple voodoo in here. The results are arbitrary , but they seem to have been carefully chosen to meet most users expectations. That is to say -- and this is an Apple programming trait -- the arbitrariness is faithful to the expected users' needs, not to logic.)
    There are four sorts available, and three groupings
    Sorts:
    . Name
    . Date -- Oldest First
    . Date -- Newest First
    . Library
    Groupings:
    . Ungrouped
    . Group by year
    . Group by folder
    So that's twelve possible ways to display Projects in Projects view.
    Let's look at a few of them. I'm going to refer to the groups as "Year groups" or "Folder groups" and to the contents of the groups as "Projects". So there is sorting of the groups, and sorting of the contents of the groups (same as "within the group"). These I'll refer to as "Groups sorting" and "Projects sorting".
    Sort: Date -- Newest First
    Grouping: Group by Year
    Result: Year groups are sorted in the same order as Projects. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together.
    Sort: Date -- Oldest First
    Grouping: Group by Year
    Results are as expected; a reversal of the "Newest First" sort, but with the same groups: Year groups are sorted in the same order as Projects. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together.
    Sort: Name
    Grouping: Group by Year
    Result: Year groups are sorted by year, oldest first. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together. Projects are sorted alphabetically, descending.
    Sort: Library
    Grouping: Group by year
    Result: Year groups are sorted by year, oldest first. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together. Projects are listed in the order they occur in the Library structure shown on the Library tab of the Inspector. (Note that this last is literal: a Project named "Aardvark Close-ups" if it's in a Folder named "Zoography" will be listed after all the projects in "Yellow Paintings" and all the Projects in "X-rays, thoracic" if those Projects are in alphabetical order by Folder name in the Library. You can see all the Projects in your Library listed on the Library tab of the Inspector by "{Option}+clicking" the disclosure triangle next to "PROJECTS & ALBUMS" twice.)
    Sort: Date - Newest First
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are sorted by date, newest first. Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder.
    Sort: Date - Oldest First
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are sorted by date, oldest first. Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder (where, again, Folder groups are sorted alpha-name, descending, and Projects are sorted alpha-name, descending).
    Sort: Name
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are sorted alphabetically by name, descending. Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder (where, again, Folder groups are sorted alpha-name, descending, and Projects are sorted alpha-name, descending).
    Sort: Library
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are listed in the order they occur in the Library structure shown on the Library tab of the Inspector (see note above). Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder (where, again, Folder groups are sorted alpha-name, descending, and Projects are listed in the order they appear in the Library).
    Ernie [asked:|http://discussions.apple.com/thread.jspa?threadID=2816124&tstart=0]
    +I see those icons but note that those projects in folders will be in different sections arranged alpha, and then date within. Am I correct on that?+
    The answer is, it depends.
    If "Group by year" is selected, the Groups-sorting will always be by date, regardless of the sort order specified. The Groups-sorting order will follow whatever is specified for the Projects sort order (or default to "oldest first").
    If "Group by folder" is selected, the Groups-sorting will always be alphabetical, descending, regardless of the sort order specified. (So if you use Projects view, take care in naming your Folders. Use prefixes if needed to force a desired alpha sort.)
    If "Ungrouped" is selected, there are no Groups and perforce no Groups-sorting.
    That's all I have to say on this topic (today).
    Message was edited by: Kirby Krieger

    In Projects view, when either of two of the three grouping options is selected, there are two sorts in effect: the groups themselves are sorted, and the contents of each group are sorted. These sorts are handled differently, depending on the grouping selected and the sort order selected.
    (It appears that there is a bit of the old Apple voodoo in here. The results are arbitrary , but they seem to have been carefully chosen to meet most users expectations. That is to say -- and this is an Apple programming trait -- the arbitrariness is faithful to the expected users' needs, not to logic.)
    There are four sorts available, and three groupings
    Sorts:
    . Name
    . Date -- Oldest First
    . Date -- Newest First
    . Library
    Groupings:
    . Ungrouped
    . Group by year
    . Group by folder
    So that's twelve possible ways to display Projects in Projects view.
    Let's look at a few of them. I'm going to refer to the groups as "Year groups" or "Folder groups" and to the contents of the groups as "Projects". So there is sorting of the groups, and sorting of the contents of the groups (same as "within the group"). These I'll refer to as "Groups sorting" and "Projects sorting".
    Sort: Date -- Newest First
    Grouping: Group by Year
    Result: Year groups are sorted in the same order as Projects. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together.
    Sort: Date -- Oldest First
    Grouping: Group by Year
    Results are as expected; a reversal of the "Newest First" sort, but with the same groups: Year groups are sorted in the same order as Projects. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together.
    Sort: Name
    Grouping: Group by Year
    Result: Year groups are sorted by year, oldest first. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together. Projects are sorted alphabetically, descending.
    Sort: Library
    Grouping: Group by year
    Result: Year groups are sorted by year, oldest first. Projects which span multiple years are put in multi-year groups. Projects with the same spans are grouped together. Projects are listed in the order they occur in the Library structure shown on the Library tab of the Inspector. (Note that this last is literal: a Project named "Aardvark Close-ups" if it's in a Folder named "Zoography" will be listed after all the projects in "Yellow Paintings" and all the Projects in "X-rays, thoracic" if those Projects are in alphabetical order by Folder name in the Library. You can see all the Projects in your Library listed on the Library tab of the Inspector by "{Option}+clicking" the disclosure triangle next to "PROJECTS & ALBUMS" twice.)
    Sort: Date - Newest First
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are sorted by date, newest first. Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder.
    Sort: Date - Oldest First
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are sorted by date, oldest first. Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder (where, again, Folder groups are sorted alpha-name, descending, and Projects are sorted alpha-name, descending).
    Sort: Name
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are sorted alphabetically by name, descending. Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder (where, again, Folder groups are sorted alpha-name, descending, and Projects are sorted alpha-name, descending).
    Sort: Library
    Grouping: Group by folder
    Result: Folder groups are sorted alphabetically by name, descending. Projects are listed in the order they occur in the Library structure shown on the Library tab of the Inspector (see note above). Clicking a Folder's name in the Project viewer drills down to show the sub-Folders and Projects in the clicked Folder (where, again, Folder groups are sorted alpha-name, descending, and Projects are listed in the order they appear in the Library).
    Ernie [asked:|http://discussions.apple.com/thread.jspa?threadID=2816124&tstart=0]
    +I see those icons but note that those projects in folders will be in different sections arranged alpha, and then date within. Am I correct on that?+
    The answer is, it depends.
    If "Group by year" is selected, the Groups-sorting will always be by date, regardless of the sort order specified. The Groups-sorting order will follow whatever is specified for the Projects sort order (or default to "oldest first").
    If "Group by folder" is selected, the Groups-sorting will always be alphabetical, descending, regardless of the sort order specified. (So if you use Projects view, take care in naming your Folders. Use prefixes if needed to force a desired alpha sort.)
    If "Ungrouped" is selected, there are no Groups and perforce no Groups-sorting.
    That's all I have to say on this topic (today).
    Message was edited by: Kirby Krieger

  • Sorting and Searching String (Please help me)

    Hi, Could somn please be of any help here. I am trying to sort this string in alphabetical order and then search for data available but I am not makingprogress with the code. Does anyone have any advise or better still the code to solve this problem... This is hat I have at the moment
    import java.util.*;
    import java.io.PrintStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    public class coursework2
         public static final int MAX_RECORDS = 20;
         public static String lastName[] = new String[MAX_RECORDS];
         public static String firstName[] = new String[MAX_RECORDS];
         public static String telNumber[] = new String[MAX_RECORDS];
         public static String emailAddress[] = new String[MAX_RECORDS];
         public static int read_in_file(String file_name)
              Scanner read_in;
              Scanner line;
              int record_count = 0;
              String record;
              try
                   read_in = new Scanner(new File(file_name));
                   // read in one line at a time
                   read_in.useDelimiter(System.getProperty("line.separator"));
                   while (read_in.hasNext())
                        // Test to see if there are too many records in the file
                        if (record_count == MAX_RECORDS)
                             System.out.printf("Only %d records allowed in file", MAX_RECORDS);
                             System.exit(0);
                        // read in record
                        record = new String(read_in.next());
                        // Split the record up into its fields and store in
                        // appropriate arrays
                        line = new Scanner(record);
                        line.useDelimiter("\\s*,,\\s*");
                        lastName[record_count] = line.next();
                        firstName[record_count] = line.next();
                        telNumber[record_count] = line.next();
                        emailAddress[record_count] = line.next();
                        // Increment record count
                        record_count++;
              catch (FileNotFoundException e)
                   e.printStackTrace();
              return record_count;
         public static void write_out_file(int no_of_records, String filename)
              PrintStream write_out;
              int counter;
              try
                   // Create new file
                   write_out = new PrintStream(new File(filename));
                   // Output all reacords
                   for(counter = 0; counter < no_of_records; counter++)
                        // Output a record
                        write_out.print(lastName[counter]);
                        write_out.print(",,");
                        write_out.print(firstName[counter]);
                        write_out.print(",,");
                        write_out.print(telNumber[counter]);
                        write_out.print(",,");
                        write_out.println(emailAddress[counter]);
                   // Close file
                   write_out.close();
              catch (FileNotFoundException e)
                   e.printStackTrace();
         // Your 'functions' go here
         //This code sorts out the record after loaded into alphabetical order using
         //the selection sort method
         public static void sort()
         // Your 'main' code goes here
         //The code below uses a binary search method to search for record because
         //record have been sorted and this would make search faster and more efficient
         public static boolean linearSearch(String strFirstName, String strLastName)
              //Set-up data_input and declare variables
              //This linear search searches for record in the contact application.
              //Search for a record using surname only
                   int i = 0;
                   boolean found = false;
                   while (!found && i < lastName.length)
                        if(strFirstName.equals("") && strLastName.equals(""))
                             return true;
                        if(lastName.equalsIgnoreCase(strLastName)){
                   //List records from surname only
                   System.out.println("Enter your search criteria (last name only):");
                        System.out.print(lastName[i] +     "\t" + firstName[i] + "\t" + telNumber[i] +"\t" + emailAddress[i]);
                        System.out.println("");
                        if (lastName[i].compareTo(strLastName) == 0)
                             //Compare the last name values and type to make sure they are same.
                             found = true;
                                  i++;
                                  System.out.print(lastName[i] +     "\t" + firstName[i] + "\t" + telNumber[i] +"\t" + emailAddress[i]);
                                       System.out.println("");
                             return found;
              //Search for a record using first name only
         public static void main(String[] args)
              // Set-up data input
              Scanner data_input = new Scanner(System.in);
              // Declare Variables
              int number_of_records;
              String filename;
              int counter;
              // Get filename and read in file
              System.out.print("Enter the masterfile file name: ");
              filename = data_input.next();
              number_of_records = read_in_file("data2.dat");
              //Get new filename and write out the file
              System.out.print("Enter new masterfile file name: ");
              filename = data_input.next();
              //System.out.println("Enter your search criteria (first or last name):");
              linearSearch("*", "");
    Am very sorry this is long, the file should be sorted after it is loaded and I have that, You can make up some data with last ane, first name, tel and email to show me an example. Thanks alot
    Joseph

    Hi Monica, Thanks for you patience with me.
    I have tried writing a selection sort method but am having some errors. Could you kindly have a lookand correct me please.
    This is the code i wrote
    public static void selectionSort(Comparable [] data)
              String strFirstName;
              String strLastName;
              Comparable temp;
              for(int i = 0; i < lastName.length; i++)
                   lastName = index;
                   for (int j = i; j < lastName.length; j++)
                        if (lastName[j].compareTo(lastName) < 0)
                             lastName[j] = lastName[i];
                   //Swap the string values
                   temp = lastName[j];
                   lastName[j] = lastName[i];
                   lastName[i] = temp;
    As you requested, below are 4 error messages I had
    E:\coursework2.java:101: cannot find symbol
    symbol : variable index
    location: class coursework2
                   lastName = index;
    ^
    E:\coursework2.java:107: cannot find symbol
    symbol : variable j
    location: class coursework2
                   temp = lastName[j];
    ^
    E:\coursework2.java:108: cannot find symbol
    symbol : variable j
    location: class coursework2
                   lastName[j] = lastName[i];
    ^
    E:\coursework2.java:109: incompatible types
    found : java.lang.Comparable
    required: java.lang.String
                   lastName[i] = temp;
    ^
    4 errors
    JCompiler done.
    JCompiler ready.
    Joseph

  • Hi my question is how can I sort and delete photo files which I have had backed up multiple times? Another way how can I get rid of from the duplicate?

    Hi my question is how can I sort and delete photo files which I have had backed up multiple times? Another way how can I get rid of from the duplicate?

    Provide the name of the program you are using so a Moderator may move this message to the correct program forum
    The Cloud is not a program, it is a delivery process... a program would be Photoshop or InDesign or Muse or ???

  • Line graph date sorting and formatting

    Hi Gurus
    We've recently upgraded to 11.1.1.7 and noticed that our Publisher line charts with date on the x-axis are no longer sorting correctly i.e. May comes before March. The reason for this is because in <11.1.1.7 we have a formatted date mask (to_char) in our data model but sorted by the underlying canonical date which worked. Now in 11.1.1.7 it is no longer sorting by the data model sort but by the formatted date string therefore numeric values of 30 April sorted after 1 May.
    We have tried a number of options to resolve:
    1. using the canonical date and sorting on that corrects the sort problem but the default formatting used in long YYYY-MM-DDT00:00:00-00:00 and not readable as our chart is showing daily totals. Changing to time-series chart can allow you to format the date but see problem 2 next...
    2. Time series = yes doesn't display the chart if we have a number of entities in our series i.e. multiple lines and the interactive viewer shows a red error icon. I think this may be due to the fact that our date range is not continuous ie we have a sparse data set.
    3. Workaround we used was a bar chart (our users preference is line charts) with time series = false but the date format is still long.
    Any advice / suggestions would be helpful.
    Thanks
    Nick.

    for #1: numbers does what is called a "stable" sort. Meaning that the previous sort order is preserved. i.e. do your sort in reverse order. Amount, then name, then date. Just did it with sample data and it was perfect. It keeps them in the original order, so if there is a match in name after you sort, you should see the amount still in the proper order.
    #2: What in your formula isnt working? I just made a formula that did math on the columns to the left, sorted and it worked. Sorted by static data columns and the formula column. I know it was broken originally, years ago, but it seems to be working correctly now, at least in my quick test. You might have an issue if you are using formulas that refer to data on other rows or tables.
    #3: yeah formatting can be a pain. But it is easier to do in the desktop program. No, you cannot get it for windows, sorry. If the formatting the only thing you need to do on the desktop side, then i dont see much tying you to it. I do 90% or more on the ipad and iphone now.
    Jason

  • Sort and filter option missing in table view

    Hi,
    I am not able to see the sort and filter option for all the columns in table view. Could anyone please help me if i need to add something to see that option.
    Thanks,
    Kamesh Bathla

    Hi,
    Thanks for the reply, yes its web UI issue, i am having search and result view and i need sorting option for all the columns in result view. I thought that it is standard functionality, do i need to add something to html file or anyother place to see the sorting options?
    Regards,
    Kamesh Bathla

  • JTable sorting and filtering

    I want to sort and Filter JTable.
    Sample code is avialable for this ?.
    Also i would like to know about 3rd party classes.
    Renjith

    Hi,
    There is a such sample on the tutorials for swing/JTable. In this tutorial, u will find 2 files and then make the corresponding classes :
    TableMap and TableSorter
    u can use them like this :
    TableSorter sorter = new TableSorter(myModel);
    //JTable table = new JTable(myModel); //OLD
    JTable table = new JTable(sorter);
    sorter.addMouseListenerToHeaderInTable(table);
    It is very simple, and you can easily modifie these classes to add filters..
    Regards, JFB

  • JTable allows sorting and filtering at same time

    Hi All:
    Any one has experience about having a JTable allows column sorting and row filtering at same time ?
    I've got JTable allows sorting, as well as a JTable allows filtering; but had a hard time to combine these functionality together. It seems I can't use separate TableModel since I need perform these two operations together on on JTable.
    any help is going to be greatly appreciated!

    Have a look at the QuoteTableModel at www.javapractices.com/Topic162.cjp
    (almost at the bottom of the page)

  • Sorting and formatting in Numbers with iPad 2

    I am going to send feedback to Apple about this, but I wanted to let the community help, if I am incorrect and these things are actually possible.
    1. I can only sort by one column. I want to be able to create a sort priority. For example, I want to sort four columns first by date, then by person's name, then by $ amount. Not possible on mobile Numbers.
    2. I want to choose to sort only specific columns. I have a formula set up in column E that sums the cells to the left in columns C and D. My formulas break every time I sort.
    3. When I copy and paste from one Numbers spreadsheet into another, the formatting from the copied sheet gets put into the pasted sheet. I want to be able to "paste format" like you can in Excel. A sort-of workaround for this is to select the cell that has the correct format (this cell has to be directly above the cells that have the wrong formatting), pull the blue select box down the column to include the cells that have the wrong formatting, click the paintbrush at the top right corner, then choose whatever formatting you need--the format that is shown as selected will be the format of the first-selected cell. You have to do this for every individual column, however. And my columns are very long -- hundreds of cells long (I'm keeping a year's worth of data).
    Am I correct in that if I buy a Mac computer and Numbers for the computer, I would be able to do these edits on the Mac, and then have them show up on my iPad when it synchs with iCloud? I can't buy Numbers for a PC, can I? Being tied to a computer isn't what I want--I wanted to be able to do everything on my mobile device.
    Thanks!

    for #1: numbers does what is called a "stable" sort. Meaning that the previous sort order is preserved. i.e. do your sort in reverse order. Amount, then name, then date. Just did it with sample data and it was perfect. It keeps them in the original order, so if there is a match in name after you sort, you should see the amount still in the proper order.
    #2: What in your formula isnt working? I just made a formula that did math on the columns to the left, sorted and it worked. Sorted by static data columns and the formula column. I know it was broken originally, years ago, but it seems to be working correctly now, at least in my quick test. You might have an issue if you are using formulas that refer to data on other rows or tables.
    #3: yeah formatting can be a pain. But it is easier to do in the desktop program. No, you cannot get it for windows, sorry. If the formatting the only thing you need to do on the desktop side, then i dont see much tying you to it. I do 90% or more on the ipad and iphone now.
    Jason

  • Sort and view contacts by company

    Our company would like to sort and view all contacts in our iPhones and iPads by company and not a person's first or last name.  From all my research it appears that iOS is not capable of doing this. We consider this very important and would like to know how can we suggest this to Apple?  I understand there may be other apps that allow this, but, at least to my knowledge, Siri does not access them to locate contact info.

    As suggested by Chris, send feedback to the link provided.
    There a work around by changing the name (maybe too much work if you have thousands of contacts)
    example:
    First: John Doe
    Last: XYZ corp
    Company XYZ corp
    First: Peter Pan
    Last: XYZ corp
    Company: XYZ corp

Maybe you are looking for