Como classificar em ordem alfabética ignorando a distinção entre maiúsculas e minúsculas?

user934357:

Eu tenho esse código, mas funciona apenas com letras minúsculas. Eu quero que isso classifique a lista, ignorando as letras maiúsculas.

package sortarray.com;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class SortArray extends Activity {
    ArrayList<String[]> matchedFruits = new ArrayList<String[]>();
    TextView selection;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String fruits[] = new String[7];// Sorted array
        fruits[0] = "apple";
        fruits[1] = "apricot";
        fruits[2] = "banana";
        fruits[3] = "mango";
        fruits[4] = "melon";
        fruits[5] = "pineapple";
        fruits[6] = "peach";
        char currChar = fruits[0].charAt(0);// Get first char of first element

        boolean match = false;
        int len = fruits.length;
        List<String> tmp = new ArrayList<String>();

        for (int i = 1; i < len; i++) {
            Log.d("Comparing ", fruits[i].charAt(0) + "," + currChar);
            if (fruits[i].charAt(0) == currChar) {
                if (match == false)// new match?
                {
                    match = true;// Reset search
                    tmp.clear();// clear existing items
                    tmp.add(fruits[i - 1]);
                    Log.d("Started new list ", fruits[i - 1]);
                } else {
                    tmp.add(fruits[i - 1]);
                    Log.d("Added to list ", fruits[i - 1]);
                }
            } else {
                match = false;
                tmp.add(fruits[i - 1]);
                matchedFruits.add(tmp.toArray(new String[tmp.size()]));// add to
                                                                        // final
                                                                        // list
                Log.d("Finished a list ", fruits[i - 1]);
                tmp.clear();// clear existing items

            }
            currChar = fruits[i].charAt(0);

        }
        tmp.add(fruits[len - 1]);
        matchedFruits.add(tmp.toArray(new String[tmp.size()]));// add left over
                                                                // items
        printList();
    }

    void printList()
    {
    //Print the list 
        TextView selection = (TextView) findViewById(R.id.tv);
        String mssg="";
    for(int i=0;i<matchedFruits.size();i++)
    {
            String tmp2[]= matchedFruits.get(i);

            for (int j = 0; j < tmp2.length; j++) {
                //Log.d("Final list", "Array #" + i + "[" + j + "]," + tmp2[j]);
                mssg += tmp2[j].toString();

            }
            //selection.setText("\n");
            selection.setText(mssg);

    }
    }
}
NickT:

Aqui está um exemplo simples em java da melhor maneira de fazer isso:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Sorter {
    String fruits[] = new String[7];
    List<String> lst;

    Sorter() {
        lst = new ArrayList<String>();
        // initialise UNSORTED array
        fruits[0] = "Melon"; fruits[1] = "apricot"; fruits[2] = "peach";
        fruits[3] = "mango"; fruits[4] = "Apple";   fruits[5] = "pineapple";
        fruits[6] = "banana";
    }

    public static void main(String[] args) {
        Sorter srt = new Sorter();
        srt.anyOldUnstaticMethod();

    }
    public void anyOldUnstaticMethod() {
        Collections.addAll(lst, fruits);
        System.out.println("Initial List");
        for (String s : lst)
            System.out.println(s);
        Collections.sort(lst);
        System.out.println("\nSorted List");
        for (String s : lst)
            System.out.println(s);
        Collections.sort(lst, new SortIgnoreCase());
        System.out.println("\nSorted Ignoring Case List");
        for (String s : lst)
            System.out.println(s);
    }

    public class SortIgnoreCase implements Comparator<Object> {
        public int compare(Object o1, Object o2) {
            String s1 = (String) o1;
            String s2 = (String) o2;
            return s1.toLowerCase().compareTo(s2.toLowerCase());
        }
    }
}

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Java: Como classificar um ArrayList em ordem alfabética com distinção entre maiúsculas e minúsculas e com qualquer número Strings no final

Classificação da lista de matrizes em ordem alfabética (sem distinção entre maiúsculas e minúsculas)

Python: como classificar as letras em uma string alfabeticamente mantendo a distinção entre maiúsculas e minúsculas

Ignorando a distinção entre maiúsculas e minúsculas em querySelectorAll

Como classificar sem fazer distinção entre maiúsculas e minúsculas sem alterar as configurações

Defina a ordem de classificação do contentresolver para classificar sem distinção entre maiúsculas e minúsculas

Como dividir a String sem distinção entre maiúsculas e minúsculas em java?

Java-8: Como classificar o Mapa (com base em valores) usando Map.Entry # comparingByValue enquanto ignora a distinção entre maiúsculas e minúsculas?

Classificar a ordem da matriz em maiúsculas e minúsculas

Maneira simples de classificar strings em ordem alfabética (diferencia maiúsculas de minúsculas)

Como obter o registro em ordem de classificação alfabética (não diferencia maiúsculas de minúsculas) no odoo?

Como classificar no PostgreSQL por maiúsculas primeiro e depois por ordem alfabética?

Como conseguir uma comparação sem distinção entre maiúsculas e minúsculas independente de Unicode em C ++

JPA2: Não faz distinção entre maiúsculas e minúsculas como em qualquer lugar

php - função para classificar um array em ordem alfabética com letras maiúsculas primeiro

Como eliminar entradas de lista duplicadas em Python, preservando a distinção entre maiúsculas e minúsculas?

Como realizar uma pesquisa de arquivo sem distinção entre maiúsculas e minúsculas em Erlang / Elixir

Como tornar a entrada do usuário sem distinção entre maiúsculas e minúsculas em Python?

Remover duplicatas ignorando a distinção entre maiúsculas e minúsculas e adicionando os próximos valores de coluna com o primeiro no dataframe do pandas em python

Remover duplicatas ignorando a distinção entre maiúsculas e minúsculas e adicionando os próximos valores de coluna com o primeiro no dataframe do pandas em python

Verificação sem distinção entre maiúsculas e minúsculas quanto à função em HttpServletRequest

Como fazer pesquisa sem distinção entre maiúsculas e minúsculas no ideavim (com / e?)

Comparação de strings sem distinção entre maiúsculas e minúsculas em Go

Comparação de strings sem distinção entre maiúsculas e minúsculas em javascript

SQLite - desativa a distinção entre maiúsculas e minúsculas em todo o banco de dados

Como você força o mysql LIKE a fazer distinção entre maiúsculas e minúsculas?

Como fazer comparação de strings sem distinção entre maiúsculas e minúsculas?

Como tornar o Dapper dinâmico sem fazer distinção entre maiúsculas e minúsculas?

Como você verifica o diretório sem distinção entre maiúsculas e minúsculas?

TOP lista

  1. 1

    Obtendo apenas o número de uma String C #

  2. 2

    como acessar a conexão do banco de dados em visualizações no codeigniter 4

  3. 3

    Como redimensionar tabelas geradas pelo Stargazer no R Markdown?

  4. 4

    recuperar valores em uma linha de dataframes com base no valor em outro

  5. 5

    Firebase Storage Web: como fazer upload de um arquivo

  6. 6

    为什么在使用argc和argv时不会出现分段错误?

  7. 7

    Como agrupar objetos em uma lista em outras listas por atributo usando streams e Java 8?

  8. 8

    Qual é a diferença entre o tamanho do passo e a taxa de aprendizado no aprendizado de máquina?

  9. 9

    Por que definir a variável como uma string vazia não é necessária em meu código?

  10. 10

    Insert a value to hidden input Laravel Blade

  11. 11

    Configure o coletor de arquivos Serilog para usar um arquivo de log por execução do aplicativo

  12. 12

    Como ler arquivos yaml em laravel?

  13. 13

    Série Fibonacci usando programação dinâmica

  14. 14

    Como adicionar elementos a um array multidimensional em PHP?

  15. 15

    How do I set an IronPython ctypes c_char_p pointer to an absolute address that is not a valid memory address to read from?

  16. 16

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  17. 17

    Como faço para que um formulário no Access se torne uma janela pop-up?

  18. 18

    Como anexar um arquivo a um e-mail usando JavaMail

  19. 19

    Adicionar campos de texto dinâmicos por meio da seleção suspensa de componentes?

  20. 20

    如何使用SOM算法进行分类预测

  21. 21

    TypeError não capturado: não é possível atribuir a propriedade somente leitura

quentelabel

Arquivo