联系人按姓名的第一字排序

public static ObservableCollection<Person> ByName(ObservableCollection<Person> oldCollection)
        {
            // 按名字顺序排好的集合
            ObservableCollection<Person> sortedCollection = new ObservableCollection<Person>();

            // 未排序的名字的第一个字
            List<string> unsortedName = oldCollection.Select(p => p.PeopleName.Substring(0, 1)).ToList();

            // 李,刘,朱
            Array sortedNameArray = unsortedName.ToArray();
            // 排好序的名字的第一个字
            Array.Sort(sortedNameArray);

            // 李,刘,朱
            List<string> sortedName = (from object name in sortedNameArray select name.ToString()).ToList();

            foreach (var firstName in sortedName)
            {
                foreach (var p in oldCollection)
                {
                    if (p.PeopleName.Substring(0, 1) == firstName)
                    {
                        sortedCollection.Add(p);
                    }
                }
            }
            return sortedCollection;
        }

时间: 2024-08-07 16:59:37

联系人按姓名的第一字排序的相关文章

如何让联系人头像显示联系人姓名的第一个汉字

在android 4.4.3上面,联系人的头像默认显示首字母,但是不支持中文字符,如下图: 如果联系人名字的第一位是英文字符(a-z || A-Z),则默认头像将显示该首字母. 如果支持中文时显示第一个汉字,那就happy了. 那就看看如何通过修改源代码来实现这一小功能吧- 我们还是先了解下联系人头像加载的流程吧- 联系人头像加载这个问题还是很有意思的,在Contacts中使用ContactPhotoManager类(严格来讲是这个类的子类)来实现头像的异步加载. 这个类还使用了LruCache

Android获取手机联系人的姓名和电话

Android获取手机联系人的姓名和电话 主要是用到了跳入手机联系人的intent和获取手机联系人信息的内容提供者,直接上代码 注:此贴是借鉴别人的帖子加了一些自己的东西写出的,原帖地址明日附上: / 首先 我们需要跳入手机通讯录 Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, 0); // 之后,我们需要重写

android 匈牙利语环境下,联系人的姓名顺序颠倒

联系人姓名由prefix / given name / middle name / family name / suffix组成.世界各地对于姓名显示的顺利是不同的. 例如中国习惯是:family name +  middle name + given name 西方习惯是:given name + middle name + family name Google定义了这几种类型: FullNameStyle.UNDEFINED  //未定义 FullNameStyle.CHINESE   //

java---数字排序

Java中利用数组进行数字排序一般有4种方法:选择排序法.冒泡法.快速排序法.插入排序法. 选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序: 冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底: 快速排序法主要是运用Arrays类中的Arrays.sort方法()实现. 插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序. 选择排序法 package

android 获取联系人的姓名和电话,无法获取电话

============问题描述============ 代码如下 package com.example.sysaction; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.provider.ContactsContract; import android.annotation.SuppressLint; import android.annotation.Ta

IOS-汉字排序

* 在IOS开发过程中,排序是我们经常遇到的问题,那么如何进行排序呢? * 在英文状态下,系统中有直接可以调用的方法.    例如:对数组[sss, aaa, bbb, ppp]进行排序,我们可以直接使用系统方法. 1 NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"sss",@"aaa",@"bbb",@"ppp",nil]; 2 array

网络获取数组信息,根据姓名按首字母排序 添加侧滑删除。

package jianlemeistaff.app.jlm.com.jianlemeistaff.activity; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Gravi

安卓基础之读取联系人的姓名和电话

一.摘要:利用内容解释器调用联系人应用的内容提供者暴露的方法,读取联系人信息.(本节只总结实现步骤,解释请看http://www.xuanyusong.com/archives/169) 二.主要逻辑: 1.获取内容解释者mResolver ContentResolver mResolver=getApplicationContext().getContentResolver(); 2.调用解释者的query方法获取cursor Cursor cursor=mResolver.query(Con

根据联系人姓名首字符顺序读取通讯录

1 package com.zzw.contacts; 2 3 import java.util.ArrayList; 4 5 import android.app.ListActivity; 6 import android.content.ContentResolver; 7 import android.content.Context; 8 import android.database.Cursor; 9 import android.net.Uri; 10 import android