---
title: "How to Sort hashSet by two conditions?"  
description: "How to Sort hashSet by two conditions?"  
author: "Anonymous User"  
published: 2015-05-30  
updated: 2015-05-30  
canonical: https://www.mindstick.com/forum/23272/how-to-sort-hashset-by-two-conditions  
category: "java"  
tags: ["hashtable"]  
reading_time: 1 minute  

---

# How to Sort hashSet by two conditions?

I’m want to [sorting](https://www.mindstick.com/articles/1581/sorting-list-with-side-bar) a category bu [name](https://yourviews.mindstick.com/view/87450/how-to-generate-a-brand-name-using-linkedin-comprehensive-guide) and place [categories](https://answers.mindstick.com/qa/47601/what-are-the-categories-of-stations-for-provision-of-passenger-amenities-explain-them) with ids: -1, 0 in begin

```
public class Category {    Long id;    String name;     public Category(Long id, String name) {        this.id=id;        this.name=name;    }    } Set<Categories> categories = new HashSet<>;categories.add(new Category(2,"Kamlakar"))categories.add(new Category(-1,"Pawan"))categories.add(new Category(3,"Haider"))categories.add(new Category(1,"Manoj"))categories.add(new Category(0,"All"))
```

how to get such list\

[{-1," Pawan "}, {0,"All"}, {3," Haider "}, {1," Kamlakar "}, {2,"[Historical](https://yourviews.mindstick.com/audio/1201/a-historical-journey-of-kedarnath-temple)"}]

## Replies

### Reply by Anonymous User

## Try this code:

```
Collections.sort(categories, (a, b) -> {    if (a.id != b.id)
{        if (a.id ==-1) {            return -1;        }        if (b.id ==-1) {            return 1;        }        if (a.id == 0)
{            return -1;        }        if (b.id == 0)
{            return 1;        }    }    return a.name.compareTo(b.name);});
```


---

Original Source: https://www.mindstick.com/forum/23272/how-to-sort-hashset-by-two-conditions

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
