Here is a sample of sorting domains in Golang:
func Test_SortDomain(t *testing.T) { domains := []string{"a.com", "b.com", "a.a.org", "a.org", "b.a.com"} slices.SortFunc(domains, CompareDomain) assert.Equal(t, []string{"a.com", "b.a.com", "b.com", "a.org", "a.a.org"}, domains)}func CompareDomain(a, b string) int { partsA := strings.Split(a, ".") slices.Reverse(partsA) partsB := strings.Split(b, ".") slices.Reverse(partsB) return slices.Compare(partsA, partsB)}
You may rewrite it to Java.