Javadoc от Sun для каждого класса набора будут обычно говорить Вам точно, что Вы хотите. HashMap, например:
Эта реализация обеспечивает постоянно-разовая производительность для основных операций (получите и поместите), принятие хеш-функции рассеивает элементы правильно среди блоков. Повторение по представлениям набора требует время, пропорциональное "способности" экземпляра HashMap (количество блоков) плюс его размер (количество отображений значения ключа).
Эта реализация обеспечивает гарантируемый журнал (n), время стоило за containsKey, получает, поместило и удаляет операции.
Эта реализация обеспечивает гарантируемый журнал (n), время, стоившее за основные операции (добавьте, удалите, и содержит).
(шахта акцента)
Из RFC 2396 :
4.1. Идентификатор фрагмента
Когда ссылка URI используется для выполнения действия извлечения на идентифицированном ресурсе, необязательный идентификатор фрагмента, отделенный от URI символом перекрестия ("#"), действие извлечения было успешно завершено. Таким образом, он не является частью URI, но часто используется в сочетании с URI.
Я выделил свой акцент, и это причина того, что фрагмент не рассматривается в реализации Uri.Equals.
] В вашем примере URI для извлекаемого ресурса: http://www.w3.org/2002/07/owl
Фрагменты обрабатываются пользовательским агентом и не имеют значения для или влияние на фактическое извлечение ресурса.
Я полагаю, потому что два идентификатора URI, которые идентичны, за исключением фрагмента, по-прежнему относятся к одному и тому же ресурсу, только к другому месту в ресурсе.
Итак, если вы задаете вопрос, это это один и тот же ресурс? тогда вы можете возразить, что этот фрагмент правильно игнорировать.