Java 遍历以特定文本开头的字符串数组

Java 遍历以特定文本开头的字符串数组,java,Java,我有一个数组,类似这样: List<String[]> list = new ArrayList<String[]>(); list.add(new String[]{"a1","12","25"}); list.add(new String[]{"a2","33","44"}); list.add(new String[]{"b5","3","4"}); list.add(new String[]{"b7","15","10"});

我有一个数组,类似这样:

List<String[]> list = new ArrayList<String[]>();
    list.add(new String[]{"a1","12","25"});
    list.add(new String[]{"a2","33","44"});
    list.add(new String[]{"b5","3","4"});
    list.add(new String[]{"b7","15","10"});
    list.add(new String[]{"c2","2","9"});
a
a1-12
a2-33
b
b5-3
b7-15
c
c2-2
我试过了,但结果不是我所期望的:

for(String[] a: list)
    {
        if( a[0].startsWith("a"))
        {
            System.out.println("a");
            for(int j=0;j<a.length;j++) System.out.println(a[0]+"-"+a[1]);  
        }
        if( a[0].startsWith("b"))
        {
            System.out.println("b");
            for(int j=0;j<a.length;j++) System.out.println(a[0]+"-"+a[1]);      
        }
        if( a[0].startsWith("c"))
        {
            System.out.println("c");
            for(int j=0;j<a.length;j++) System.out.println(a[0]+"-"+a[1]);      
        }
    }
(字符串[]a:列表)的

{
if(a[0].startsWith(“a”))
{
系统输出打印项次(“a”);

关于(int j=0;j请参考以下代码

List<String[]> list = new ArrayList<String[]>();
list.add(new String[]{"a1","12","25"});
list.add(new String[]{"a2","33","44"});
list.add(new String[]{"b5","3","4"});
list.add(new String[]{"b7","15","10"});
list.add(new String[]{"c2","2","9"});
    String temp = new String("");

    for(String[] a: list)
{
    if( a[0].startsWith("a"))
    {
        if(temp!="a")
            System.out.println("a");
        temp="a";

    }
    if( a[0].startsWith("b"))
    {
        if(temp!="b")
            System.out.println("b");   
        temp="b";
    }
    if( a[0].startsWith("c"))
    {
        if(temp!="c")
            System.out.println("c"); 
        temp="c";
    }
    System.out.println(a[0]+"-"+a[1]);
}
List List=new ArrayList();
添加(新字符串[]{“a1”、“12”、“25”});
添加(新字符串[]{“a2”、“33”、“44”});
添加(新字符串[]{“b5”、“3”、“4”});
添加(新字符串[]{“b7”、“15”、“10”});
添加(新字符串[]{“c2”、“2”、“9”});
字符串温度=新字符串(“”);
for(字符串[]a:列表)
{
if(a[0].startsWith(“a”))
{
如果(温度!=“a”)
系统输出打印项次(“a”);
temp=“a”;
}
如果(a[0]。开始时使用(“b”))
{
如果(温度!=“b”)
系统输出打印项次(“b”);
temp=“b”;
}
if(a[0].startsWith(“c”))
{
如果(温度!=“c”)
系统输出打印项次(“c”);
temp=“c”;
}
System.out.println(a[0]+“-”+a[1]);
}
谢谢
Kannan

结果是什么(您没有预料到)?使用可排序列表并按属性对其排序
[0]
,这样您就不需要那么疯狂了……这只是一个简单的算法。请注意,混合数组类型和
列表
类型通常不是一个好主意。还要注意
for(int j=0;j