nexando com StringBuilder

Tenho 5 caixas de seleção e tenho que selecionar várias caixas de seleçã

Eu criei um código como este para marcar a caixa de seleção está marcada:

sports=(CheckBox)findViewById(R.id.sports_btn);
sports.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        if (sports.isChecked() == true)
        list.add("4");
    }
}); 

Estou adicionando um valor a uma lista de matrizes:

list ArrayList<String> list = new ArrayList<String>();

e estou recuperando o valor como uma string assim:

StringBuilder sb = new StringBuilder();
for(int  i =0; i < list.size(); i++)
{
    for (String str: list)
    {  
        sb.append(str.toString());
        sb.append(",");
    }

}
String sel_cat = sb;

Estou recebendo a string, mas se dois valores forem selecionados, ele será exibido como 2,3, como remover a última vírgula? Eu não quero a última vírgula, a string deve ser de 2,3.

questionAnswers(6)

yourAnswerToTheQuestion